我是使用 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)
扫描创建一个问题,一个问题生成一些票,我将问题作为票表的外键。现在我有一个 Scan 对象,我想查询与此扫描相关的所有票证。我首先尝试了这个:
tickets = Tickets.objects.filter(issue__scan=scan_obj)
这是行不通的。然后我尝试了这个:
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)
还是不行。我需要知道如何在 django 中进行此类查询?谢谢。