Sto provando a creare una tabella di mapping tra due riferimenti generici (content_type), uno per "agenti" e uno per "risorse".modello django con due chiavi esterne generiche (content_type)?
così prendo il solito modo faccio una chiave esterna generica:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('content_type', 'object_id')
e io cerco di fare un modello con due.
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')
Ma questo ora getta i seguenti errori:
myapp.mymodel: Accessor per il campo 'resource_content_type' scontri con campo relativo 'ContentType.mymodel_set'. Aggiungi un argomento relativo allo alla definizione per 'resource_content_type'.
E simili per l'agente.
Cosa sta succedendo qui? E cosa dovrei fare?
applausi
phil
grazie, funziona. Ma speravo che qualcuno potesse spiegare il perché. O meglio, perché l'ambiguità appare quando ho due chiavi straniere generiche, ma non una? – interstar
Modificato per aggiungere la spiegazione. –