批量创建具有唯一约束 - 忽略重复

时间:2017-06-22 06:48:25

标签: django postgresql django-models

让我们说有一个具有独特约束的模型:

class A(models.Model):
    my_unique_value = models.CharField(unique=True)

我想bulk_create As,但我插入的一些my_unique_value值已经在db中。我希望它们被忽略(不插入)。

实现这一目标的最佳,最有效的方法是什么?我无法逐个插入它们,并捕获异常(它太慢)。我也无法首先获取所有As以清除重复项。

底层数据库是postgres。

1 个答案:

答案 0 :(得分:0)

您可以使用get_or_create,正如其名称所示 - 只会在项目不存在的情况下创建,否则会获取它。您可以丢弃提取的项目。