Django模型方法 - create_or_update

时间:2013-05-02 03:37:06

标签: python django django-models django-orm

get_or_create类似,我希望能够在Django中update_or_create

到目前为止,我使用了类似于@Daniel Roseman does it here的方法。但是,我想更简洁地将其作为一种模型方法。

This snippet已经很老了,我想知道在更新版本的Django中是否有更好的方法可以做到这一点。

2 个答案:

答案 0 :(得分:13)

参见QuerySet.update_or_create(Django 1.7dev中的新内容)

答案 1 :(得分:1)

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'