Skip to content

update_or_create

https://docs.djangoproject.com/zh-hans/2.2/ref/models/querysets/#update-or-create

upate_or_create方法用来根据条件判断,是否执行更新操作还是查询操作。

基本语法:

python
models.Tests.objects.update_or_create(condition, default)
  • condition:如果条件为True,则执行更新操作,否则执行创建操作。
  • default:字典类型的更新或创建内容。

示例:

python
models.Tests.objects.update_or_create(pk=2, default={"name":"zhangkai"})

如果pk为2的记录存在,就更新name字段的内容;否则创建该条记录。

也可以这么写:

python
select_condition = {"pk": 3, "name": '张开'}
models.Testss.objects.update_or_create(**select_condition, defaults={'name': '张开腿'})

条件是pk=3 name=张开的那条记录,有则更新,无则创建。

欢迎斧正,未完... see also:QuerySet API reference