如何通过删除另一个模型具有ForeignKey关系的结果来过滤Django查询集



使用以下型号.py…

from django.db import models
class Notebook(models.Model):
name = models.CharField(max_length=255)


class Entry(models.Model):
notebook = models.ForeignKey(Notebook, on_delete=models.CASCADE)
name = models.CharField(max_length=255)

我该如何写一个过滤器,只返回没有入口的笔记本?

您可以使用.filter(…)Notebook

Notebook.objects.filter(entry=None)

这是因为Django生成了LEFT OUTER JOIN,因此我们只保留entry主键为NULL/None的记录。

最新更新