Serialization 如果初始_数据没有字段名的键,是否调用序列化程序字段级验证?
数据字典不包含键Serialization 如果初始_数据没有字段名的键,是否调用序列化程序字段级验证?,serialization,django-rest-framework,Serialization,Django Rest Framework,数据字典不包含键my\u字段\u名称 那么,当我调用时,validate\u[my\u field\u name]()方法会被调用吗 data = {...} MySerializer(serializers.Serializer): ... def validate_[my_field_name]() ... 遗憾的是,没有 这是一件让我感到痛苦的事情,通常也是如此。您可以做以下几件事: 声明字段时设置required=True 提供一个默认值=,如果足够的话 序列化
my\u字段\u名称
那么,当我调用时,validate\u[my\u field\u name]()
方法会被调用吗
data = {...}
MySerializer(serializers.Serializer):
...
def validate_[my_field_name]()
...
遗憾的是,没有
这是一件让我感到痛苦的事情,通常也是如此。您可以做以下几件事:
- 声明字段时设置
required=True
- 提供一个
,如果足够的话默认值=
validate
方法始终被调用,如果需要,您可以在其中添加一些内容
serializer = MySerializer(data=data)
serializer.is_valid()
class A(Serializer):
must_send = serializers.CharField(required=True)
def validate(self, attrs):
if 'key' not in attrs:
attrs.setdefault('key', some_calculation())
# important!
return attrs