Soy nuevo en el uso de GenericForeignKey, y no pude hacerlo funcionar en una declaración de consulta. Las mesas son más o menos como la siguiente:django: ¿cómo hago una consulta basada en los campos de 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 exploración crea un problema, un problema genera algunas entradas, y me hizo Edición como una clave externa a la tabla de entradas. Ahora tengo un objeto de escaneo y quiero consultar todas las entradas relacionadas con este escaneo. Intenté esto primero:
tickets = Tickets.objects.filter(issue__scan=scan_obj)
que no funciona. Entonces probé esto:
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)
Todavía no funciona. Necesito saber cómo hacer este tipo de consultas en django? Gracias.
Me salvó el día, amigo, estoy básicamente sin pelo después de tratar de resolver esto. Gracias :) . –
@girasquid issue_id es muy confuso, ya que puede hacer referencia al campo issue_id en cuestión o al atributo id del campo de problema en la pregunta, ¿podemos hacer que se distingan? – rohanagarwal