に似ている - get_or_create
、できるようになりたいですupdate_or_create
Djangoで。
今まで、私は @ 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'