Sono nuovo nell'utilizzo di GenericForeignKey e non sono riuscito a farlo funzionare in una dichiarazione di query. I tavoli sono più o meno simile al seguente:django: come faccio a interrogare in base ai campi di GenericForeignKey?
class Ticket(models.Model):
issue_ct = models.ForeignKey(ContentType, related_name='issue_content_type')
issue_id = models.PositiveIntegerField(null=True, blank=True)
issue = generic.GenericForeignKey('issue_ct', 'issue_id')
class Issue(models.Model):
scan = models.ForeignKey(Scan)
Una scansione crea un problema, un problema genera alcuni biglietti, e ho fatto questione come una chiave esterna a tavola biglietteria. Ora ho un oggetto Scan e voglio interrogare tutti i ticket relativi a questa scansione. Ho provato prima questo:
tickets = Tickets.objects.filter(issue__scan=scan_obj)
che non funziona. Poi ho provato questo:
issue = Issue.objects.get(scan=scan_obj)
content_type = ContentType.objects.get_for_model(Issue)
tickets = Tickets.objects.filter(content_type=content_type, issue=issue)
Ancora non funziona. Devo sapere come fare questo tipo di domande in django? Grazie.
Salvato il mio giorno, amico mio, sono praticamente senza peli dopo aver provato a capirlo. Grazie :) . –
@girasquid issue_id è molto confuso in quanto può riferirsi al campo issue_id in questione o all'attributo id del campo di emissione nella domanda, possiamo renderli distinguibili? – rohanagarwal