0

例如,我想获取Users 的列表。我当前的查询集看起来像这样

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模型进行过滤时,为什么我需要指定它。

4

1 回答 1

2

抱歉不行。字段查找需要字段,因此必须使用 PK,因为无法专门引用模型指示的行。

于 2012-04-12T22:46:46.017 回答