使用=“”参数创建Django批量创建

时间:2016-11-27 10:55:25

标签: python django database

当我使用django模型保存对象时,保存如下:

rank = Rank()
rank.save(using="test")

我想保存大量这样的排名:

Rank.objects.bulk_create(ranks) -

我如何发送也是using参数?

2 个答案:

答案 0 :(得分:2)

您可以在查询集上使用using()

// task-form.component.ts
addTask(task) {
  this.taskService.create(task)
    .subscribe(savedTask => {
      this.taskAdd.emit(savedTask);
      this.task.title = null;
    });
}

// task-list.component.ts (listening to the taskAdd event)
addTaskToPeriod(task: Task) {
  this.tasks.push(task);
}

答案 1 :(得分:1)

如果我正确理解了问题,您需要为此创建custom model manager并覆盖其中的bulk_create方法。

class CompanyManager(models.Manager):
    def bulk_create(self, self, objs, batch_size=None, **kwargs):        
        using = kwargs.get('using')
        if using:
            # your code here

现在在Rank模型中,您可以将CompanyManager指定为默认值:

class Rank(models.Model):
    objects = CompanyManager()