Django获取没有一对一属性的对象

2024-05-02 07:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个概念,其中有一个模型有一个OneToOne字段和User。如何查询未分配给其中一个的所有用户

例如:

class SpecialUser(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

并非所有用户都是特殊用户。如何使用objects(即:User.objects.filter(something))获取所有非特殊用户

谢谢


Tags: 用户模型概念modelobjectsonmodelsdelete
1条回答
网友
1楼 · 发布于 2024-05-02 07:34:07

您可以执行以下操作:

User.objects.filter(specialuser=None)

或:

User.objects.filter(specialuser__isnull=True)

您可以提供related_name,使其更具可读性或避免pottential冲突。示例:

class SpecialUser(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="special_user_profile")    

在本例中,您将使用相关名称:

User.objects.filter(special_user_profile=None)  

相关问题 更多 >