Django: получить первый объект из запроса фильтра или создать

В 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]
23
задан arustgi 31 May 2011 в 16:42
поделиться