可以用djang中的逻辑或进行查询吗

2024-06-26 15:03:22 发布

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

我有一个模型“组织”,它有以下字段

class Organization(models.Model):
    members = models.ManyToManyField(User,related_name='org_members')
    title = models.CharField(max_length=200)
    description = models.TextField()
    founder = models.ForeignKey(User,related_name='org_founder')
    def __unicode__(self):
        return self.title

进行查询以获取用户作为成员的所有组织

^{pr2}$

类似地,进行查询以获取用户是创建者的所有组织

Organization.objects.filter(founder=me)

我想写一个查询,它将获取用户是成员的所有组织或他是创始人的课程。在

我试了一下

Organization.objects.filter(members=me or founder=me)

这将导致Invalid Syntax错误

有人能告诉我如何进行这个查询吗


Tags: 用户nameorgselfobjectstitlemodels成员
3条回答

使用Q对象。这会帮助你完成你的目标。在

from    django.db.models                import Q

Organization.objects.filter(Q(members='me') | Q(founder='me'))

要使用逻辑OR进行查询,需要使用Q对象:

from django.db import models
Organization.objects.filter(models.Q(members=me) | models.Q(founder=me))

相关问题 更多 >