Цього можна досягти за допомогою Model.objects.get_or_create()
Приклад
obj, created = Person.objects.get_or_create(
first_name='John',
last_name='Lennon',
defaults={'birthday': date(1940, 10, 9)},
)
Будь-які ключові аргументи (тут first_name і last_name ) передається в get_or_create () - за винятком опціонального називаються дефолти - будуть використовуватися для запиту в базі даних (знайти об'єкт) в базі даних.
Він повертає кортеж, якщо об'єкт знайдено, get_or_create () повертає кортеж цього об'єкта та False.
Примітка : Те саме можна також досягти за допомогою try except
тверджень
Приклад:
try:
obj = Person.objects.get(first_name='John', last_name='Lennon')
except Person.DoesNotExist:
obj = Person(first_name='John', last_name='Lennon', birthday=date(1940, 10, 9))
obj.save()