例如,我想获得User
的列表。我当前的查询集看起来像这样
creator_list = User.objects.filter(
Q(userprofile__place__managers=user) |
Q(pk=user.pk)
)
我发现我可以使用...managers=user.pk
creator_list = User.objects.filter(
Q(userprofile__place__managers=user.pk) |
Q(pk=user.pk)
)
我曾经一直写...=user.pk
,直到我意识到我可以简单地删除pk
部分。那么在第二个Q()
子句中,是否可以删除pk
部分?因此我想让它看起来像
creator_list = User.objects.filter(
Q(userprofile__place__managers=user) |
Q(something=user)
)
我理解pk
接受模型的主键,这是一个整数,但是当我已经知道我希望过滤器通过User
时,为什么我需要指定它模型。
答案 0 :(得分:2)
不幸的是没有。字段查找需要字段,因此必须使用PK,因为无法专门引用模型指示的行。