Fixes #1285: Enforce model validation when creating/editing objects via the API

This commit is contained in:
Jeremy Stretch
2017-07-06 17:37:24 -04:00
parent 1e1d228257
commit 3637939742
8 changed files with 74 additions and 31 deletions

View File

@@ -111,6 +111,16 @@ class CustomFieldModelSerializer(serializers.ModelSerializer):
defaults={'serialized_value': custom_field.serialize_value(value)},
)
def validate(self, data):
"""
Enforce model validation (see utilities.api.ModelValidationMixin)
"""
model_data = data.copy()
model_data.pop('custom_fields', None)
instance = self.Meta.model(**model_data)
instance.clean()
return data
def create(self, validated_data):
custom_fields = validated_data.pop('custom_fields', None)