相关疑难解决方法(0)

django:我如何根据GenericForeignKey的字段进行查询?

我是使用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)
Run Code Online (Sandbox Code Playgroud)

扫描会产生一个问题,一个问题会产生一些故障单,我将问题作为Ticket表的外键.现在我有一个Scan对象,我想查询与此扫描相关的所有故障单.我先试了一下:

tickets = Tickets.objects.filter(issue__scan=scan_obj)
Run Code Online (Sandbox Code Playgroud)

这不起作用.然后我尝试了这个:

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)
Run Code Online (Sandbox Code Playgroud)

仍然无法正常工作.我需要知道如何在django中进行这些查询?谢谢.

django generic-foreign-key

45
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

generic-foreign-key ×1