Python Django:`MergeDict`已被弃用,请改用`dict.update()`
我得到这个信息:Python Django:`MergeDict`已被弃用,请改用`dict.update()`,python,django,dictionary,merge,Python,Django,Dictionary,Merge,我得到这个信息: removedindjango19警告:MergeDict已被弃用,请改用dict.update()。 当前代码: return MergeDict(dict_a, dict_b) 这不是解决方案,因为dict\u a会被修改: return dict_a.update(dict_b) #1 此外,dict_a是一个自定义类的实例,它不支持复制(它是惰性的,根据键动态创建项),因此我不能简单地执行以下操作: new=dict() new.update(dict_a) ne
removedindjango19警告:MergeDict已被弃用,请改用dict.update()。
当前代码:
return MergeDict(dict_a, dict_b)
这不是解决方案,因为dict\u a
会被修改:
return dict_a.update(dict_b) #1
此外,dict_a
是一个自定义类的实例,它不支持复制(它是惰性的,根据键动态创建项),因此我不能简单地执行以下操作:
new=dict()
new.update(dict_a)
new.update(dict_b)
return new
如何替换MergeDict
?您可以使用。它的作用与MergeDict
相同:保留映射列表并按顺序访问它们
然而,实际上只执行字典的合并通常比较简单。向自定义类添加复制支持并对其进行更新可能并非不可能。这与OP给出的代码有什么不同?问题是dict_a是懒惰的。@guettli使用
ChainMap
。@Bakuriu谢谢你的回答。链图很好用。对于所有那些固定在Python2.7上的人来说:在pypi上有一个可用的后端口: