Ответ 1
Смотрите QuerySet.update_or_create (новый в Django 1.7dev)
Подобно get_or_create
, я бы хотел иметь возможность update_or_create
в Джанго.
До сих пор я использовал подход, подобный тому, как @Daniel Roseman делает это здесь. Однако я хотел бы сделать это более кратко в качестве модельного метода.
Этот фрагмент довольно старый, и мне было интересно, есть ли лучший способ сделать это в более поздней версии Django.
Смотрите QuerySet.update_or_create (новый в Django 1.7dev)
Существует update_or_create
, например: ::
obj, created = Person.objects.update_or_create(
first_name='John', last_name='Lennon',
defaults={'first_name': 'Bob'},
)
# If person exists with first_name='John' & last_name='Lennon' then update first_name='Bob'
# Else create new person with first_name='Bob' & last_name='Lennon'