Python 原始Django中的筛选器列表
我有这个查询,但它没有过滤特定的索引。我只想根据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”对象不支持索引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 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)