我需要能够快速批量插入大量记录,同时仍确保数据库中的唯一性。要插入的新记录已经被解析,并且是唯一的。我希望有一种方法可以在数据库级别而不是在代码本身中强制执行唯一性。
我使用 MySQL 作为数据库后端。如果 django 在任何其他数据库中支持此功能,我可以灵活地更改后端,因为这是一个要求。
Django中的批量插入不使用该save
方法,那么如何一次插入几百到几千条记录,同时仍然尊重唯一字段和唯一一起字段?
我的模型结构经过简化,看起来像这样:
class Example(models.Model):
Meta:
unique_together = (('name', 'number'),)
name = models.CharField(max_length = 50)
number = models.CharField(max_length = 10)
...
fk = models.ForeignKey(OtherModel)
编辑:
应该插入尚未在数据库中的记录,而应该忽略已经存在的记录。