2012-01-07 4 views
46

Ho un'applicazione Django che legge i dati da un'API Web e li inserisce in un database.
C'è un modo per creare un nuovo oggetto da una modalità ma prevenire l'eccezione duplicata se l'oggetto esiste già?Crea se non esiste

In altre parole, esiste un modo per salvare un oggetto, ma non fare nulla se già esiste?

risposta

85
+13

Stack Overflow dice sempre la mia risposta è troppo breve quando sono succinta. –

+7

rendendolo un collegamento ai documenti aggiunge alcuni caratteri (e ne fa una risposta migliore credo) – second

+3

Questo sembra fare 2 query. Se voglio solo salvare l'oggetto nel caso in cui non esiste, c'è un modo con solo 1 query? Suppongo che l'errore 'IntegrityError' causi l'interruzione della transazione corrente e non sia sufficiente. –