Estoy tratando de crear una tabla de asignación entre dos referencias genéricas (content_type), una para "agentes" y otra para "recursos".modelo django con dos claves foráneas genéricas (content_type)?
así que tomo la forma habitual hago una clave externa genérica:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('content_type', 'object_id')
y trato de hacer un modelo con dos.
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')
Pero esto ahora arroja los siguientes errores:
myapp.mymodel: Accessor para el campo enfrentamientos '' resource_content_type con campo relacionado 'ContentType.mymodel_set'. Agregue un argumento related_name a la definición para 'resource_content_type'.
Y similar para el agente.
¿Qué está pasando aquí? ¿Y que debería hacer?
aplausos
Phil
gracias, eso funciona. Pero esperaba que alguien pudiera explicar por qué. O más bien, ¿por qué aparece la ambigüedad cuando tengo dos claves externas genéricas pero no una? – interstar
Editado para agregar la explicación. –