g = Goal.objects.filter(Q(title__contains=term) | Q(desc__contains=term))
如何将
filter
添加到我的user=request.user
中?这不起作用:
g = Goal.objects.filter(user=request.user, Q(title__contains=term) | Q(desc__contains=term))
楷模:
class Goal(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=255)
desc = models.TextField()
最佳答案
关键字参数(user=request.user
)必须在非关键字参数(您的Q对象)之后出现。
在过滤器中切换顺序:Goal.objects.filter(Q(title__contains=term) | Q(desc__contains=term), user=request.user)
或将两个filter()
调用链接在一起Goal.objects.filter(user=request.user).filter(Q(title__contains=term) | Q(desc__contains=term))
关于django - Django queryset中的Q对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21188760/