2010-08-08 25 views
9

Tôi muốn thêm cột vào bảng cơ sở dữ liệu nhưng tôi không muốn sửa đổi mô-đun bên thứ 3 trong trường hợp tôi cần/quyết định nâng cấp mô-đun trong tương lai. Có cách nào tôi có thể thêm lĩnh vực này trong mã của tôi để với xây dựng mới tôi không phải thêm các lĩnh vực bằng tay?Django - cách mở rộng mô hình bên thứ 3 mà không sửa đổi

Trả lời

9

Bạn có thể sử dụng ModelName.add_to_class (hoặc .contribute_to_class), nhưng nếu bạn đã chạy syncdb, thì không có cách nào để tự động thêm nó vào cột bạn cần.

Đối với mã có thể duy trì, bạn có thể muốn mở rộng bằng cách sắp xếp mô hình mong muốn trong ứng dụng của riêng mình và sử dụng thứ gì đó như nam để xử lý di chuyển cơ sở dữ liệu hoặc chỉ sử dụng OneToOneField và có mô hình liên quan UserProfile là auth.User).

Các vấn đề liên quan