﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34061	Model validations should be run on save()	Aaron Smith	nobody	"Most modern Django applications, at least as far as I have seen in 6 years of mostly working with Django, are headless API apps that do not use Forms. As a matter of fact, I have never used Forms in the several dozen django apps I've worked on, including several mission-critical APIs at multi-hundred-person companies.

Not running validations by default is a **serious** footgun that has ruined more than one developer's day. Yes, it's in the documentation. But the broad expectation is that a web framework will do this sort of thing by default without extra configuration or overrides. Model validations should function as expected ''by the naive'' regardless of how the model is saved.

Ideally the Model class should call `full_clean()` in it's save method. If this can't be done for backwards compatibility, I propose we add a new `ValidatedModel` class that subclasses `Model`. There should be a clear and obvious option to fulfill the basic and reasonable expectations of the new Django developer.

I'm more than happy to make this PR."	New feature	closed	Database layer (models, ORM)	4.0	Normal	wontfix	model, validation, validations		Unreviewed	0	0	0	0	0	0
