Django Queryset 过滤器检查相关对象是否存在

Django Queryset filter checks if related objects exist

我正在尝试创建一个自定义管理器,其中 return 所有没有附加 Bar 的 Foo 实例。

# models.py
class Foo(models.Model):
    ...

class Bar(models.Model):
    foo = models.OneToOneField(Foo)
    ...

# managers.py
class FooQueryset(BaseQueryset):
    def no_bar(self):
        return ???

class FooManager(BaseManager):
    def get_queryset(self):
        return EcheanceQueryset(self.model, using=self._db)

    def no_bar(self):
        return self.get_queryset().no_bar()

我正在寻求有关查询集的帮助以获得所需的结果

试试

class FooManager(BaseManager):

    def no_bar(self):
        return self.get_queryset().filter(bar__isnull=True)