Создать, если не существует - PullRequest
66 голосов
/ 07 января 2012

У меня есть приложение Django, которое считывает данные из веб-API и помещает их в базу данных.
Есть ли способ создать новый объект из режима, но предотвратить дублирование исключения, если объект уже существует?

Другими словами, есть ли способ сохранить объект, но просто ничего не делать, если он уже существует?

Ответы [ 3 ]

128 голосов
/ 07 января 2012
43 голосов
/ 06 сентября 2013

В Django 1.7 вы также можете сделать:

Model.objects.update_or_create()

2 голосов
/ 03 июня 2018

Похоже, что в новых версиях Django функция save () по умолчанию выполняет UPDATE или INSERT. Смотрите здесь .

...