sql >> Databasteknik >  >> RDS >> PostgreSQL

Django bulk_create med ignorera rader som orsakar IntegrityError?

Detta är nu möjligt på Django 2.2

Django 2.2 lägger till en ny ignore_conflicts alternativet till bulk_create metod, från dokumentationen:

På databaser som stöder det (alla utom PostgreSQL <9.5 och Oracle), inställning av parametern ignore_conflicts till True säger till databasen att ignorera misslyckande med att infoga några rader som misslyckas med begränsningar som dubbletter av unika värden. Aktivering av denna parameter inaktiverar inställning av primärnyckeln för varje modellinstans (om databasen normalt stöder det).

Exempel:

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


  1. SQL-rekursiv fråga på självreferenstabell (Oracle)

  2. Hur håller data inte sorteras?

  3. Hur man ansluter en databas till Python

  4. PostgreSQL Connection Pooling:Del 2 – PgBouncer