散装与唯一性约束创建 - 忽略重复
问题描述:
比方说,有一个与唯一约束模型:散装与唯一性约束创建 - 忽略重复
class A(models.Model):
my_unique_value = models.CharField(unique=True)
我想bulk_create但一些my_unique_value值我插入的是已经在分贝。我希望他们被忽略(未插入)。
什么是最好的,最有效的方法来实现呢?我不能逐个插入它们,并捕获异常(它太慢)。我也无法取得所有的首先清理重复。
底层DB是postgres。
答
您可以使用get_or_create
,正如其名称所示 - 只会在物品不存在时才会创建,否则会将其取出。您可以放弃提取的项目。
+0
这将不再是*批量*创建(它会使一个查询每目的)。 – Matt
+0
是的,但考虑到你的限制[一]无法获取和过滤[b]不想复制,这是最好的选择。 –
你可以粘贴视图吗? –
重复的https://*.com/questions/12451053/django-bulk-create-with-ignore-rows-that-cause-integrityerror – shubham003