为什么我的链式 Django 查询集不起作用?

Why is my chained Django queryset not working?

latest_entries = Entry.objects.filter(
    zipcode=request.user.my_profile.nearbyzips1
).filter(
    zipcode=request.user.my_profile.nearbyzips2
).filter(
    zipcode=request.user.my_profile.nearbyzips3
)

这似乎没有 return 任何 Entry 对象,尽管它应该。

注意:如果我要删除所有链接,它只保留初始 nearbyzips1 过滤器,它 return 是匹配该邮政编码的所有 Entry 对象。所以这告诉我我的链接正在破坏某些东西。

我做错了什么?

我没有使用任何 m2m 或外键。

我想您需要找到包含给定邮政编码之一的所有条目。正确的做法是:

Entry.objects.filter(zipcode__in=[
    request.user.my_profile.nearbyzips1,
    request.user.my_profile.nearbyzips2,
    request.user.my_profile.nearbyzips3
])

此查询 return 具有数组值之一作为邮政编码的所有条目。您给出的查询只是试图同时查找邮政编码等于所有给定邮政编码的所有条目。所以return什么都没有是正常的。