PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Django bulk_create z ignorowanymi wierszami, które powodują IntegrityError?

Jest to teraz możliwe w Django 2.2

Django 2.2 dodaje nowy ignore_conflicts opcja bulk_create metoda, z dokumentacji:

W bazach danych, które to obsługują (wszystkie z wyjątkiem PostgreSQL <9.5 i Oracle), ustawienie parametru ignore_conflicts na True mówi bazie danych, aby ignorowała niepowodzenie wstawiania wierszy, które nie spełniają ograniczeń, takich jak zduplikowane unikalne wartości. Włączenie tego parametru wyłącza ustawianie klucza podstawowego w każdej instancji modelu (jeśli baza danych normalnie go obsługuje).

Przykład:

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. Zniszczenie bazy danych Postgres na Heroku

  2. Najlepsze praktyki dotyczące rejestrowania audytu PostgreSQL

  3. Jak przekonwertować datę i godzinę na wartość epoki uniksowej w Postgresie?

  4. Jak działa Abs() w PostgreSQL

  5. BŁĄD:funkcje w wyrażeniu indeksu muszą być oznaczone jako IMMUTABLE w Postgresie