web-dev-qa-db-ja.com

Djangoモデルメソッド-create_or_update

に似ている - get_or_create 、できるようになりたいですupdate_or_create Djangoで。

今まで、私は @ Daniel Rosemanがここで行う方法 に似たアプローチを使用しています。ただし、モデルメソッドとしてこれをより簡潔に実行したいと思います。

このスニペット はかなり古く、Djangoの最新バージョンでこれを行うためのより良い方法があるかどうか疑問に思っていました。

16
snakesNbronies

参照 QuerySet.update_or_create (Django 1.7devの新機能)

19
dbkaplun

有る 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'
6
suhailvs