【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为更新

【Django 2021年最新版教程17】数据库操作 models 存在更新 不存在新建update_or_create

二、不存在就创建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

https://www.cnblogs.com/xshan/p/12765610.html

https://www.cnblogs.com/iiiiiher/p/11646309.html

Original: https://blog.csdn.net/u013288190/article/details/117692433
Author: 软件工程小施同学
Title: 【Django 2021年最新版教程17】数据库操作 models 存在更新 不存在新建update_or_create

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/736473/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球