PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Django bulk_create с игнориране на редове, които причиняват IntegrityError?

Това вече е възможно в Django 2.2

Django 2.2 добавя нов ignore_conflicts опция за bulk_create метод, от документацията:

В бази данни, които го поддържат (всички с изключение на PostgreSQL <9.5 и Oracle), настройването на параметъра ignore_conflicts на True казва на базата данни да игнорира неуспеха при вмъкване на редове, които не успяват да ограничат, като дублиращи се уникални стойности. Активирането на този параметър деактивира настройката на първичния ключ за всеки модел (ако базата данни обикновено го поддържа).

Пример:

Entry.objects.bulk_create([
    Entry(headline='This is a test'),
    Entry(headline='This is only a test'),
], ignore_conflicts=True)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres:дефиниране на стойност по подразбиране за CAST неуспехи?

  2. Java Enums, JPA и Postgres enums - Как да ги накарам да работят заедно?

  3. PostgreSQL последователности без празнини

  4. как да използвате Blob тип данни в Postgres

  5. Функции за дата и час на PostgreSQL