Ich versuche, eine Zuordnungstabelle zwischen zwei generischen (content_type) Referenzen, eine für "Agenten" und eine für "Ressourcen" zu erstellen.Django-Modell mit zwei generischen (content_type) Fremdschlüsseln?
Also nehme ich die übliche Art, wie ich einen generischen Fremdschlüssel:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('content_type', 'object_id')
Und ich versuche, ein Modell mit zwei zu machen.
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')
Aber das wirft nun die folgenden Fehler auf:
myapp.mymodel: Accessor für Feld 'resource_content_type' Auseinandersetzungen mit verwandten Bereich 'ContentType.mymodel_set'. Fügen Sie der -Definition für 'resource_content_type' ein Argument related_name hinzu.
Und ähnlich für den Agenten.
Was geht hier vor? Und was soll ich machen?
prost
phil
danke, das funktioniert. Aber ich hatte gehofft, dass jemand erklären könnte warum. Oder, warum erscheint die Mehrdeutigkeit, wenn ich zwei generische Fremdschlüssel habe, aber keinen? – interstar
Bearbeitet, um die Erklärung hinzuzufügen. –