Hud*_*den 3 python django rest
我在这里按照教程.我遇到过这个:
def update(self, instance, validated_data):
instance.title = validated_data.get('title', instance.title)
instance.code = validated_data.get('code', instance.code)
instance.linenos = validated_data.get('linenos', instance.linenos)
instance.language = validated_data.get('language', instance.language)
instance.style = validated_data.get('style', instance.style)
instance.save()
return instance
Run Code Online (Sandbox Code Playgroud)
这可能是一个非常简单的问题,但get这里的功能是什么?我很难找到任何关于它是什么的文档.我知道有一个get查询功能,但这些功能是否相同?
validated_data是一个OrderedDict并且OrderedDict.get(key, default)是获取value给定键的方法,返回default如果键中缺少键.
换句话说:
instance.title = validated_data.get('title', instance.title)将尝试title从validated_data中获取,但instance.title如果title验证数据中不存在该键,则将返回当前值.
https://docs.python.org/2/library/collections.html#collections.OrderedDict https://docs.python.org/2/library/stdtypes.html#dict.get