2

我有一个用户的 objectID 列表

friends = ['someID', 'someID']

我编写了一个查询集来获取与我在朋友列表中拥有的这些 objectID 相关联的用户。

u = UserAccount.objects.filter(Q(id = friends[0]) or Q(id = friends[1]))

现在u.to_json() 只输出一个 UserAccount 对象,尽管两个对象 ID 都存在于数据库中

所以我通过分离查询来检查它,现在每个查询集都按预期返回了一个 UserAccount 对象。

u = UserAccount.objects.filter(Q(id = friends[0]))
v = UserAccount.objects.filter(Q(id = friends[1]))

什么可能是错的?“或”有问题吗?

4

2 回答 2

3

使固定:

UserAccount.objects.filter(Q(id = friends[0]) | Q(id = friends[1]))
于 2013-11-05T07:13:41.640 回答
3

要匹配列表中的任何内容,您可以使用in 查询运算符

UserAccount.objects.filter(id__in=friends)
于 2013-11-05T11:16:17.913 回答