Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django REST API';获取';功能_Python_Django_Rest - Fatal编程技术网

Python Django REST API';获取';功能

Python Django REST API';获取';功能,python,django,rest,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', i

我正在学习教程。我遇到过这样的情况:

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

这可能是一个非常简单的问题,但是这里的
get
函数是什么?我很难找到关于它的任何文档。我知道有一个
get
查询函数,但是这些函数是相同的吗?

get
是一个字典方法。 您向它传递一个键,它将返回与该键关联的值。 或者,您还可以将希望它返回的值传递给它,以防字典中缺少键。不必指定默认值(如果键不存在,则返回None),但它会使事情更清楚,即使您不需要

例如:

d={'ciao':1, 'how':2, 'are':3, 'you':4}
my_val = d.get('how', 10)
print 'my_val =', my_val
输出

my_val = 2
my_val = 10
鉴于

my_val = d.get('absent', 10)
print 'my_val =', my_val
输出

my_val = 2
my_val = 10

validated\u data
是一个
OrderedDict
OrderedDict。get(key,default)
是为给定的key获取
值的方法,如果dict中缺少key,则返回
default

换言之:
instance.title=validated\u数据。get('title',instance.title)
将尝试从已验证的\u数据中提取
title
,但如果
title
键不在已验证的数据中,则返回当前的
instance.title


get与restapi无关

验证的数据是一个字典。可以通过以下方式从字典中提取值

d = some_dictionary

**Method 1:** a = d[key]
**Method 2:** a = d.get(key,custom_value)
方法1中,如果字典d中存在键,则为a分配一个值。如果钥匙不存在,KeyError将被触发

方法2
中,如果字典中有键,则为a分配d[key]的值,否则为a分配
自定义值。默认情况下,
自定义值
为无。因此,即使字典不包含您要查找的键,也不会引发异常


简而言之,方法2是访问字典键的安全方法。

get是字典方法