Tôi đang cố tạo bảng ánh xạ giữa hai tham chiếu chung (content_type), một cho "tác nhân" và một cho "tài nguyên".mô hình django với hai khóa ngoại lệ chung (content_type)?
Vì vậy, tôi đi theo cách thông thường tôi thực hiện một khóa ngoại generic:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('content_type', 'object_id')
Và tôi cố gắng để tạo ra một mô hình với hai.
agent_content_type = models.ForeignKey(ContentType)
agent_object_id = models.PositiveIntegerField()
agent = generic.GenericForeignKey('agent_content_type', 'agent_object_id')
resource_content_type = models.ForeignKey(ContentType)
resource_object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('resource_content_type', 'resource_object_id')
Nhưng điều này bây giờ ném lên các lỗi sau đây:
myapp.mymodel: accessor cho lĩnh vực 'resource_content_type' đụng độ với lĩnh vực liên quan 'ContentType.mymodel_set'. Thêm đối số related_name vào định nghĩa cho 'resource_content_type'.
Và tương tự cho tác nhân.
Điều gì đang xảy ra ở đây? Và tôi nên làm gì?
cổ vũ
phil
cảm ơn, hoạt động. Nhưng tôi đã hy vọng ai đó có thể giải thích tại sao. Hay đúng hơn, tại sao sự mơ hồ xuất hiện khi tôi có hai khóa chung chung nhưng không phải là một? – interstar
Đã chỉnh sửa để thêm giải thích. –