Django 具有正确输入值的字段的mongo引擎更新命令
我有一个场景,我必须更新许多记录。但问题是我必须更新那些有变量作为输入的字段。如果任何传入字段没有,则不应覆盖其现有的db值Django 具有正确输入值的字段的mongo引擎更新命令,django,mongodb,mongoengine,Django,Mongodb,Mongoengine,我有一个场景,我必须更新许多记录。但问题是我必须更新那些有变量作为输入的字段。如果任何传入字段没有,则不应覆盖其现有的db值 new_code = None new_type = "new values" user.objects(query).update(set__type=new_type ,set__code=new_code) 上面的查询返回10条记录,但我只想更新类型,因为它有一个值。但代码值不应以db为单位进行更新。因为它的变量是none(来自用户输入表单) 我必须做一些假设
new_code = None
new_type = "new values"
user.objects(query).update(set__type=new_type ,set__code=new_code)
上面的查询返回10条记录,但我只想更新类型,因为它有一个值。但代码值不应以db为单位进行更新。因为它的变量是none(来自用户输入表单)
我必须做一些假设条件
在db中,我有如下记录
类型=旧,代码=111
因为新的_代码不是作为输入来的,所以它应该只更新类型,db应该是这样的
type=新值,code=111您需要在更新之前清除用户输入-无数据类型和要存储的值有效 因为这些只是Kwarg,所以您可以为您想要更新的内容构建一个字典:
update = {}
if new_type:
update['set__new_type' = new_type
if new_code:
update['set__new_code' = new_code
user.objects(query).update(**update)