Python 可以用django中的逻辑OR进行查询吗
我有一个模型“组织”,它有以下字段Python 可以用django中的逻辑OR进行查询吗,python,django,django-queryset,Python,Django,Django Queryset,我有一个模型“组织”,它有以下字段 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_n
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
进行查询以获取用户为成员的所有组织
me=User.objects.get(username='damon')
Organization.objects.filter(members=me)
类似地,进行查询以获取用户为创始人的所有组织
Organization.objects.filter(founder=me)
我想写一个查询,它将获取所有用户是其成员的组织或他是其创始人的课程
我试过这个,如下所示
Organization.objects.filter(members=me or founder=me)
这会导致无效语法
错误
有人能告诉我如何使用对象进行此查询吗。这将有助于您了解所需内容。要使用逻辑OR进行查询,您需要使用Q对象:
from django.db.models import Q
Organization.objects.filter(Q(members='me') | Q(founder='me'))
from django.db import models
Organization.objects.filter(models.Q(members=me) | models.Q(founder=me))