为什么在尝试验证数据时“来源”不起作用?
from rest_framework import serializers
class Test(serializers.Serializer):
my_field = serializers.CharField(source='myField')
test_data = {'myField': 'test1', 'myOtherField': 'test2'}
Test(test_data).data
Run Code Online (Sandbox Code Playgroud)
输出:{'my_field':'test1'}。
Test(test_data).is_valid(raise_exception=True)
Run Code Online (Sandbox Code Playgroud)
输出:AssertionError:无法调用,.is_valid()因为data=在实例化序列化器实例时未传递关键字参数。
Test(data=test_data).is_valid(raise_exception=True)
Run Code Online (Sandbox Code Playgroud)
输出: ValidationError: {'my_field': [ErrorDetail(string='此字段为必填项。', code='required')]}