В Django queryset предоставляет метод get_or_create, который либо возвращает объекты, либо создает объект.
Однако, как и метод get , get_or_create может вызвать исключение, если запрос возвращает несколько объектов.
Есть ли способ сделать это изящно:
objects = Model.manager.filter(params)
if len(objects) == 0:
obj = Model.objects.create(params)
else:
obj = objects[0]