繁体   English   中英

遍历模型列

[英]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,则我不建议您这样做,因为可能会有某些字段为ForeignKeyManyToManyField等,因此最好对每个字段进行显式处理。

编辑:

我只是自己尝试过,但是您可能需要getattr(obj, field, None)在某些空字段上显示None ,例如OneToOneField

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM