Django 从一个外键开始的筛选用户不是与其他筛选器组合的工作人员
我有以下型号:Django 从一个外键开始的筛选用户不是与其他筛选器组合的工作人员,django,django-queryset,Django,Django Queryset,我有以下型号: class Post(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='activity', sent_at = models.DateTimeField(blank=True, null=True) on_delete=models.CASCADE) 我需要一个查询,排除所有用户,不是工作人员和发送是空的 因此,我尝试使用exclude: Post.obje
class Post(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='activity',
sent_at = models.DateTimeField(blank=True, null=True) on_delete=models.CASCADE)
我需要一个查询,排除所有用户,不是工作人员和发送是空的
因此,我尝试使用exclude:
Post.object.all().exclude(user.is_staff=True)
我得到以下错误:
keyword can't be an expression
在queryset的参数中,要访问模型属性,您需要使用
\uuu
,而不是像这样使用
:
Post.object.all().exclude(user__is_staff=True)
要排除空值,可以使用:
Post.object.all().exclude(user__is_staff=True, sent_at__isnull=True)