Django Rest Framework序列化程序不会调用Model.clean
何时验证模型序列化程序.给出的解释是,这可以从Django Rest Framework 3.0发行说明中获得"更清晰的关注点分离" :
ModelSerializer验证和ModelForm之间的差异.
此更改还意味着我们不再
.full_clean()
在模型实例上使用该方法,而是在序列化程序上显式执行所有验证.这样可以实现更清晰的分离,并确保ModelSerializer类上没有自动验证行为,这些行为也无法在常规Serializer类上轻松复制.
但是,什么样的关注是Django的REST框架的尝试分开的作者?
我的猜测是,他们说模型实例不应该关注它自身的有效性.如果是这样的话,我不明白为什么.
python django serialization django-models django-rest-framework