Tôi có một mô hình với một mối quan hệ chung:Làm cách nào để tải ứng dụng mô hình Django?
TrackedItem --- genericrelation ---> any model
Tôi muốn để có thể tổng quát được, từ mô hình ban đầu, mục theo dõi.
Tôi có thể làm điều đó trên bất kỳ mô hình nào mà không sửa đổi mô hình đó.
Để làm điều đó, tôi cần lấy loại nội dung và id đối tượng. Lấy id đối tượng dễ dàng vì tôi có thể hiện mẫu, nhưng việc lấy kiểu nội dung không phải là: ContentType.object.filter yêu cầu mô hình (chỉ là content_object.__class__.__name__
) và app_label.
Tôi không biết làm thế nào để có được một cách đáng tin cậy ứng dụng trong đó có một mô hình.
Hiện tại tôi làm app = content_object.__module__.split(".")[0]
, nhưng nó không hoạt động với các ứng dụng contrib django.
Đây là giải pháp tốt hơn so với sử dụng _meta. – Wogan
Có phải không? Điều này có ảnh hưởng đến cơ sở dữ liệu không? – meshy
@meshy yes nhưng django ContentType sử dụng bộ nhớ cache trên trình quản lý của nó để chỉ truy vấn một lần cho mỗi mô hình. – dalore