簡體   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