我有一个statistics
模型,其中有一个名为Chat
的字段。我如何检索所有users
,它们的Chat
字段中有一个带有特定users
的{{1}}? CustomUser
和username
之间存在ManyToMany
关系。
我已经尝试了以下方法,但是没有用:
Chat
答案 0 :(得分:2)
那应该做的。
chats: QuerySet = Chat.objects.filter(users__in=[user.pk])
如果您有多个用户要搜索:
users: QuerySet = CustomUser.objects.filter(...)
user_ids: List = list(users.values_list('pk', flat=True))
chats: QuerySet = Chat.objects.filter(users__in=user_ids)
答案 1 :(得分:1)
除非您出于某些其他原因需要访问user
,否则应合并查询集。这样会将所需的sql查询数量减少到1。
Chat.objects.filter(users__username=username)