新手来了 我碰巧有一个包含 50 多个字段的创建对象,有没有写创建对象的捷径?任何建议都非常感谢。谢谢
SOA_detail.objects.create(
soa =instance,
sitename =rec_fields['sitename'],
site_addr =rec_fields['site_addr'],
call_sign =rec_fields['call_sign'],
no_years =rec_fields['no_years'],
channel =rec_fields['channel'],
ppp_units =rec_fields['ppp_units'],
rsl_units =rec_fields['rsl_units'],
freq =rec_fields['freq'],
...
duplicate_fee =rec_fields['duplicate_fee'])
答。
在jproffitt的指导之后。这就是我所做的。假设:
header_name =[]
是字段名称的动态列表。SOA_detail 是我的模型。
soa_detail = []
是价值观。
for i in range(len(header_name)):
for model_field in SOA_detail._meta._fields():
# check every header_name if it is in model field name
if header_name[i] == model_field.name:
# update dict if found
rec_fields[header_name[i]] = soa_detail[i]
SOA_detail.objects.create(soa=instance, **rec_fields)
这比我原来包含近 100 行的脚本要好得多。