如何保存django模型中的对象列表?

bat*_*man 4 python django

我有一些功能后生成的对象列表,我希望它保存在django模型中我试过查询设置操作

mylist = [(u'england', u'1', u'cde', u'IMG1', u'CP1'), (u'england', u'1', u'cde', u'IMG2', u'CP1'), (u'england', u'2', u'abc', u'IMG1', u'CP1')] 

class Mymodel(models.Model):
   batch_id = models.AutoField(primary_key=True)
   batch_cola = models.CharField(max_length=100)
   batch_colb = models.CharField(max_length=100)
   batch_colc = models.CharField(max_length=100)
   batch_cold = models.CharField(max_length=100)
   batch_cole = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

kre*_*eld 13

您可以使用bulk_create方法 - 类似于:

Mymodel.objects.bulk_create([Mymodel(**{'batch_cola' : m[0],
                                        'batch_colb' : m[1],
                                        'batch_colc' : m[2],
                                        'batch_cold' : m[3],
                                        'batch_cole' : m[4]}
                            for m in mylist]);
Run Code Online (Sandbox Code Playgroud)

  • 这应该是接受的答案 - 您在单个查询中创建所有项目,而不是重复访问数据库. (3认同)