sql >> Databáze >  >> RDS >> PostgreSQL

Django bulk_create s ignorováním řádků, které způsobují chybu IntegrityError?

To je nyní možné na Django 2.2

Django 2.2 přidává nový ignore_conflicts možnost bulk_create z dokumentace:

U databází, které to podporují (všechny kromě PostgreSQL <9.5 a Oracle), nastavení parametru ignore_conflicts na True říká databázi, aby ignorovala selhání při vkládání řádků, které nesplňují omezení, jako jsou duplicitní jedinečné hodnoty. Povolení tohoto parametru zakáže nastavení primárního klíče na každé instanci modelu (pokud to databáze normálně podporuje).

Příklad:

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


  1. Datový typ Oracle JDBC a Oracle CHAR

  2. GROUP BY pro spojení/sloučení sloupce

  3. Příklady GETDATE() v SQL Server (T-SQL)

  4. Linuxové souborové systémy a kontrolní body PostgreSQL