Django REST API'获取'功能

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查询功能,但这些功能是否相同?

Wou*_*ink 6

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