django:使用namedtuple而不是dict来** kwargs?
作者:互联网
为什么会成功
qs = Model.objects.filter(pk=1)
kwargs = {'name': 'me',
'age_desc': 'getting older'
}
qs.update(**kwargs)
但是不是吗?
qs = Model.objects.filter(pk=1)
nt = collections.namedtuple('nt','name, age_desc')
kwargs = nt('me', 'getting older')
qs.update(**kwargs)
在Django中解压缩参数时,没有办法使用namedtuples而不是dict吗?
解决方法:
我不认为Python关键字参数解包(**语法)支持命名元组,但是您可以使用命名元组对象的_asdict()方法从命名元组获取字典.或在3.x上,也可能在2.7.5上的vars()(Get the object name of a specific object from namedtuple对2.7.5安装的状态进行了一些讨论).
标签:iterable-unpacking,python,django 来源: https://codeday.me/bug/20191028/1953615.html