2015-11-12 152 views
0

如何循環遍歷QuerySet的所有字段。我需要將所有字段值的列表導出到xlsx文件,但不能使用client.name來預定義列。遍歷模型列

如果循環對象,我剛拿到ID:

for i in Model.objects.all(): 
    print i 

如果我試圖巢循環,我得到TypeError 'Model' object is not iterable。如果導出爲CSV/XLSX

for i in Model.objects.all(): 
     for y in i: 
      print y 

回答

1
for obj in Model.objects.all(): 
    for field in obj._meta.get_all_field_names(): 
     print getattr(obj, field) 

不過,我不會建議這樣做,因爲可能有一些領域是ForeignKeyManyToManyField等,所以最好爲每個做明確領域。

編輯:

我只是嘗試過自己,但你可能需要getattr(obj, field, None)上顯示一些是空的字段None,像OneToOneField