.....
for obj in queryset: # 遍历选择的对象列表
data=[]
for field in fields_columns:# fields_columns为选定的字段列表
if obj._meta.get_field(field).choices: #如果字段 有choices属性
data.append(eval('obj.get_'+field+'_display()'))
elif '_id' in field: #是否多对一外键 字段名=属性名+'_id'
data.append(f'{getattr(obj,field[:-3])}') #多对一 访问模型类的属性(字段名去掉'_id') 返回关联模型对象的返回值。需转换为字符后才能to excel.
else:
data.append(f'{getattr(obj, field)}')#将字段转换为字符(如:img类型无法转为exel)
....