Django:排除在另一表中有链接的所有行

1 投票
1 回答
849 浏览
提问于 2025-04-17 20:07

我在我的models.py文件里有两个表格,我想从表格A中找出所有具有特定slug值的记录,并且这些记录在表格B中没有作为外键出现。

我的表格在models.py中是这样的:

class ModelA(models.Model):
    slug = models.SlugField()
    title = models.CharField(max_length=100)

class ModelB(models.Model):
    modela = models.ForeignKey(ModelA)
    amount = models.CharField(max_length=10)

在views.py中,怎么才能找到所有在ModelA中具有相同slug的记录(就像ModelA.objects.filter(slug=slug)那样),并且这些记录在ModelB中没有任何关联呢?

谢谢!

1 个回答

4

你可以使用 filter 这个功能,配合 isnull 来进行查询:

>>> ModelA.objects.filter(slug__iexact="foo", modelb__isnull=True)

撰写回答