2

我必须根据某些条件从数据库中获取多行。数据库中可能有一行用于匹配查询或多行。我可以将 get() 用于一行,但它不会获取多行。

这是我的代码:

value=table.objects.get(col_name=1)然后我可以访问它的数据,value.col但正如我所说,如果这个查询返回多于一行,它会给我错误。

我也尝试过 filter() ,value=table.objects.filter(col_name=1)但后来我无法访问它的数据value.col

所以请建议我如何从数据库中获取多行并逐一访问这些行。

谢谢 !!

4

3 回答 3

2
values = table.objects.filter(col_name=1)
for value in values.all():
    # Do something with value.col
于 2013-01-29T09:37:35.033 回答
1

是的,您必须遍历查询集中的项目:

for item in value:
    item.col
于 2013-01-29T09:36:48.500 回答
0
value=table.objects.filter(col_name=1)

将返回一个“django.db.models.query.QuerySet”类型,可以使用“for”循环进行迭代

于 2020-08-07T15:09:06.490 回答