我想使用序列化程序来验证和反序列化JSON。你知道吗
我试过:
Candidate = namedtuple("Candidate",
["name", "description"]
)
class CandidateSerializer(serializers.Serializer):
name = serializers.CharField()
description = serializers.CharField()
def to_internal_value(self, data):
return Candidate(**data)
然后在repl中:
>>> s = CandidateSerializer(data={'name': "Seb", 'description':"Hello"})
>>> s.is_valid()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py", line 236, in is_valid
self._validated_data = self.run_validation(self.initial_data)
File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py", line 436, in run_validation
self.run_validators(value)
File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py", line 465, in run_validators
to_validate.update(value)
ValueError: too many values to unpack (expected 2)
我做错什么了?你知道吗
这不是使用序列化程序的方式。序列化程序用于获取JSON并转换为Python数据类型。如果您想要获取转换后的数据并输出类似于namedtuple的内容,那么您需要实现
create()
并通过save()
调用它。所以:现在:
相关问题 更多 >
编程相关推荐