def validate(self, attrs):
"""
http://www.django-rest-framework.org/topics/3.0-announcement/#differences-between-modelserializer-validation-and-modelform
"""
request = self.context.get('request', None)
# Re-use model validation logic
instance = Message(author=request.user, **attrs)
try:
instance.clean()
if 'html' in attrs:
instance.validate_html()
except DjangoValidationError as err:
message = {}
for field, errors in err.message_dict.items():
if not isinstance(errors, list):
errors = [errors]
message[field] = errors
raise ValidationError(message)
return attrs
评论列表
文章目录