[英]iterate over model columns
我如何遍历QuerySet
所有字段。 我需要所有字段值的列表以导出到xlsx文件,但是无法使用例如client.name
来预定义列。
如果对于循环对象,我只获得ID:
for i in Model.objects.all():
print i
如果我尝试嵌套循环, TypeError 'Model' object is not iterable
得到TypeError 'Model' object is not iterable
。
for i in Model.objects.all():
for y in i:
print y
for obj in Model.objects.all():
for field in obj._meta.get_all_field_names():
print getattr(obj, field)
但是,如果您导出到csv / xlsx,则我不建议您这样做,因为可能会有某些字段为ForeignKey
或ManyToManyField
等,因此最好对每个字段进行显式处理。
编辑:
我只是自己尝试过,但是您可能需要getattr(obj, field, None)
在某些空字段上显示None
,例如OneToOneField
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.