Django 模型方法 - create_or_update
Posted
技术标签:
【中文标题】Django 模型方法 - create_or_update【英文标题】:Django model method - create_or_update 【发布时间】:2013-04-26 03:32:12 【问题描述】:类似于get_or_create
,我希望能够在Django 中update_or_create
。
到目前为止,我使用的方法类似于@Daniel Roseman does it here。不过,我想更简洁地把它作为一种模型方法。
This snippet 已经很老了,我想知道在更新版本的 Django 中是否有更好的方法来做到这一点。
【问题讨论】:
这能回答你的问题吗? Create Django model or update if exists 【参考方案1】:参见QuerySet.update_or_create
(Django 1.7dev 中的新功能)
【讨论】:
【参考方案2】:有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'
【讨论】:
感谢您解释默认值的作用。这在文档中非常令人困惑。 :D @ShahriarRahmanZahin 谢谢你的客气话。也许我会在 django 中提交一个拉取请求\ 那太棒了! @suhailvs以上是关于Django 模型方法 - create_or_update的主要内容,如果未能解决你的问题,请参考以下文章