我收到一条错误消息:
'User' object does not support indexing
我尝试使用 Q 过滤查询集以获取包含对象的查询,其中 self.request.user
(这是一个用户模型对象)是一个 owner
(ForeignKey ) 或其中一个 参与者
(ManyToMany)。
这是我的代码:
if self.request.user.has_perm('permissions'):
queryset = self.model.objects.filter(parent=None)
else:
queryset = self.model.objects.filter(Q(parent=None),
Q(owner=self.request.user) | Q(participants__in=self.request.user))
我认为问题出在 Q(participants__in=self.request.user)
但我不知道如何解决。
最佳答案
当您使用 in
时,您的错误来自此 Q(participants__in=self.request.user)
你必须指定一个可迭代对象。
你能发布模型吗?
关于python - 如何正确使用 Q 过滤 ForeignKey 和 ManyToMany 的查询集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466838/