On Mon, Dec 02, 2019 at 03:53:06PM -0500, Brian Bouterse wrote: > If anyone has concerns with us enabling Model validation by default on > all models please let us know soon.
I don't know (yet) if I have concerns, but DRF seems to have, see https://www.django-rest-framework.org/community/3.0-announcement/#differences-between-modelserializer-validation-and-modelform According to DRF's design, all validation logic should be at one place, which is the serializer. This seems to be a controversial issue, see e.g. https://github.com/encode/django-rest-framework/issues/3144. From that issue: What happens in the case where in your models you are forcing a full_clean (perhaps by including it in the save method)? Will serializers know how to handle an exception from an explicit full_clean? And Tom Christie's answer: I'd recommend that application level validation should generally happen prior to save, not during it. Personally I'd avoid full_clean, and instead ensure that state changing operations on model instances are only ever made via method calls that can provide a boundary that ensures that only valid state changes may ever be made by the rest of the application. We need to be aware that we are leaving the path recommended by DRF if we implement this proposal and mix Django validation and DRF validation. Unfortunately, I don't know what the alternative is. Using DRF serializers to construct all model instances looks clumsy when it comes to relations. _______________________________________________ Pulp-dev mailing list Pulp-dev@redhat.com https://www.redhat.com/mailman/listinfo/pulp-dev