Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 原始Django中的筛选器列表_Python_Django - Fatal编程技术网

Python 原始Django中的筛选器列表

Python 原始Django中的筛选器列表,python,django,Python,Django,我有这个查询,但它没有过滤特定的索引。我只想根据emp_列表过滤paid_by列,这就是为什么我提出了这个索引paid_by=emp[1]。如果有人能找出我做错了什么,那就太好了。事先非常感谢你 TypeError:“Person”对象不支持索引 paid_by=emp[1]将是Person的一个实例,如果emp.paid_by是您模型的一个字段,您应该能够访问它。如果字段名称不同,您可以设置查询字段到模型字段的映射您的Person.objects.raw。。。查询返回Person对象的quer

我有这个查询,但它没有过滤特定的索引。我只想根据emp_列表过滤paid_by列,这就是为什么我提出了这个索引paid_by=emp[1]。如果有人能找出我做错了什么,那就太好了。事先非常感谢你

TypeError:“Person”对象不支持索引

paid_by=emp[1]将是Person的一个实例,如果emp.paid_by是您模型的一个字段,您应该能够访问它。如果字段名称不同,您可以设置查询字段到模型字段的映射

您的Person.objects.raw。。。查询返回Person对象的queryset,因此当您对它们进行迭代并执行emp[1]时,您尝试对Person对象使用索引,这是不可能的,并且会导致TypeError:“Person”对象不支持索引


现在还不清楚你想要达到什么目的,因为你输入了我只是想根据emp_列表过滤paid_by column,但是paid_by是一个Person字段,emp_list是一个Persons查询集,所以字面上你是说你试图根据Persons集合过滤paid_by column,这没有任何意义。请更新您的帖子,提供更多有关您想要实现的目标的详细信息。

谢谢您的回复,但我只想筛选“按列付费”下的所有列表或姓名,是否可能?需要帮助如果要按“按列付费”筛选数据库记录,可以执行以下操作:Person.objects.filterpaid\u by='your value'。如果要从选择中排除某些内容,可以使用以下命令:Person.objects.excludepayed\u by=。这就是你需要的吗?
emp_list = Person.objects.raw('SELECT id,paid_by, IF(paid = "Yes" || paid = "YES", "paid", "unpaid") as id,paid, category, category_status, count(paid)  FROM app_person  WHERE paid_by != "" GROUP BY paid_by, paid, category, category_status ORDER BY paid_by,paid ')

for emp in emp_list:
        paid_by = emp[1] #I want to filter paid_by in emp_list
        print(paid_by)