Django 2021年最新版教程17数据库操作 models 存在更新 不存在新建update_or_create
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 2021年最新版教程17数据库操作 models 存在更新 不存在新建update_or_create相关的知识,希望对你有一定的参考价值。
一、存在则更新 不存在则新建 update_or_create方法
Model.objects.update_or_create(defaults,**kwargs)
- defaults是用来更新的
- kwargs是用来查询的
defaults是需要更新的数据字典,后面参数是用来查询的是否存在的,如果存在就更新,反之insert
例如:
defaults = dict()
defaults['name'] = 'Jeff'
defaults['idcard'] = '123456'
defaults['content'] = 'hello world'
User.objects.update_or_create(defaults=defaults, name='Jeff', idcard='123456')
返回值为元组: (object, created),
- object为新建或者更新的对象,
- created为一个布尔值,表示是新建还是更新,True为新建,False为更新
二、不存在就创建get_or_create方法
User.objects.get_or_create(username = 'kkk', password = 'ppp')
参考
https://segmentfault.com/q/1010000010168141
https://blog.csdn.net/qq_35968173/article/details/107639786
以上是关于Django 2021年最新版教程17数据库操作 models 存在更新 不存在新建update_or_create的主要内容,如果未能解决你的问题,请参考以下文章
Django 2021年最新版教程8操作Mysql数据库 mysqlclient安装和使用
Django 2021年最新版教程29django项目部署到华为云(ubuntu virtualenv mysql方式)