Django ORM更新或创建,DjangoORMupdateorcreate

发表时间:2020-12-25

环境

Package Version
Django 2.2.6
python 3.6.0
django-debug-toolbar 3.2

理解 update_or_create

官网API
update_or_create(defaults=None, **kwargs)

A convenience method for updating an object with the given kwargs, creating a new one if necessary. The defaults is a dictionary of (field, value) pairs used to update the object. The values in defaults can be callables.

Returns a tuple of (object, created), where object is the created or updated object and created is a boolean specifying whether a new object was created.

The update_or_create method tries to fetch an object from database based on the given kwargs . If a match is found, it updates the fields passed in the defaults dictionary.

最佳实践

**kwargs参数查找对象,如果存在根据defaults字典更新对象,不存在则创建对象

obj, created = User.objects.update_or_create(
    username='admin', id='1',
    defaults={'username': 'Tom'},
)

参考

Django QuerySet API

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free