在Python的Django-QuerySet中获取for循环中'i'的索引
我在一个查询集中有两个模型对象。
x = [<model.object>]
y = [<model.object>]
我需要通过一个脚本来处理每个对象,针对每一组。
for i in [x,y]:
i.attribute_1
i.attribute_2
不过这样做不行,因为在这个例子中,'i' 代表的是一个查询集,而不是一个具体的对象。
for i in [x,y]:
i[0].attribute_1
i[0].attribute_2
这看起来有点麻烦。
for i in [x[0],y[0]]:
i.attribute_1
i.attribute_2
同样的问题。
for i[0] in [x,y]:
i.attribute_1
i.attribute_2
这样也不行。
有没有比
for i in [x,y]:
i = i[0]
i.attribute_1
i.attribute_2
更好的解决方案呢?
或者更好的是
z = 0
for i in [x,y]:
i = i[z]
i.attribute_1
i.attribute_2
z += 1
?谢谢 :)
3 个回答
0
看起来 itertools.chain
在这种情况下最合适:
for i in itertools.chain(x, y):
i.attr_1
i.attr_2
它也可以用在你有一系列查询集合的情况,比如这样:
query_sets = [[<model.object>, <model.object>], [<model.object>, <model.object>, <model.object>], ....]
for i in itertools.chain(*query_sets):
....
0
我想我明白了
for i in [x,y]:
z = 0
while z < len(i)
o = i[z]
o.attribute_1
o.attribute_2
z += 1