使用列表的 Django 查询

马特

我想使用列表在 Django 中运行查询。我在堆栈溢出上找到了一个类似的帖子,它使我达到了现在的位置,但我似乎无法让我的代码正常工作。我认为唯一的区别是我使用的是 REST。我下面的代码抛出错误unsupported operand type(s) for &: 'Build' and 'Build'

我期望的是查询将返回 author_id 与 machineOwned 列表中的任何值匹配的所有条目。

from .models import Build
import operator
from functools import reduce

class buildStatsAPI(generics.ListCreateAPIView):#for build stats
    permission_classes = (permissions.IsAuthenticated,)
    serializer_class = buildStatsAPI_serializer
    def get_queryset(self):
    machinesOwned = [4,5,7,9]
    query = reduce(operator.and_, (Build(author_id= item) for item in [machinesOwned]))
    return Build.objects.filter(query,deleted = 0,).values() 
席林特

您可以动态创建Q对象列表,但您可以通过另一种方式更有效地执行此操作:

Build.objects.filter(
    deleted=0,
    author_id__in=machinesOwned,
).values() 

否则,如果您采用当前的方法:

from django.db.models import Q
query = reduce(operator.and_, (Q(author_id= item) for item in machinesOwned))
Build.objects.filter(query,deleted = 0,).values()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Django查询优化

来自分类Dev

使用Q的Django查询

来自分类Dev

使用Django创建查询

来自分类Dev

在Django中更新查询列表

来自分类Dev

查询ForeignKey的Django对象列表

来自分类Dev

如何在Django查询中使用列表来添加字段

来自分类Dev

使用列名的辅助列表访问 Django 查询集的值

来自分类Dev

使用大型子查询优化 Django 查询

来自分类Dev

Django模型查询使用联接

来自分类Dev

使用Django查询的内置方法

来自分类Dev

Django-获取查询参数列表

来自分类Dev

Django:列表中每个查询的Django过滤器queryset

来自分类Dev

使用LINQ查询列表

来自分类Dev

Django-使用过滤器进行查询时传递结果列表

来自分类Dev

Django Raw查询:使用group BY子句进行Count查询

来自分类Dev

Django-查询:使用相关模型字段注释查询集

来自分类Dev

Django Raw查询:使用group BY子句进行Count查询

来自分类Dev

如何使用复杂的分组查询来查询Django模型?

来自分类Dev

如何使用 django 中的其他查询过滤查询

来自分类Dev

使用有限的子查询过滤 Django 查询集

来自分类Dev

如何使用 django 查询集编写这个原始 SQL 查询?

来自分类Dev

Django查询

来自分类Dev

使用F()在Django中进行模量查询

来自分类Dev

使用Django-orm查询多个对象

来自分类Dev

使用... objects.raw的Django查询

来自分类Dev

使用Django查询获取相关模型

来自分类Dev

django-使用lambda进行OR查询

来自分类Dev

为此目的使用Django ORM查询

来自分类Dev

Django:使用UUID查询`id__in`