我有一个模型PPTLcode
class PPTLcode(models.Model): # many to one relationship with PPTLconfig
code = models.CharField(max_length = 255, unique = True)
pconf = models.ForeignKey('PPTLconfig', related_name= 'codes')
我有一个代码列表。我想保存列表中的每个代码,仅参考一个pconf
。我可以使用迭代来执行此操作。只是好奇地知道,是否有一个单行解决方案呢?
目前我这样做: -
for code in code_list:
obj = PPTLcode(code=code, pconf=pconf_obj)
obj.save()
答案 0 :(得分:2)
使用bulk create在一个查询中保存新对象:
obj_list = []
for code in code_list:
obj_list.append(PPTLcode(code = code, pconf = pconf_obj))
PPTLcode.objects.bulk_create(obj_list)
或一线解决方案:
PPTLcode.objects.bulk_create([PPTLcode(code=code, pconf=pconf_obj) for code in code_list])
注意:bulk_create
在django> = 1.4