﻿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
29549	Document that Field.choices are enforced by model validation	Evgeny Arshinov	Tim Graham	"This is basically a sequel of #6967.

For some reason, only form validation was considered in the original ticket, but data validation is not limited to that, but also includes data integrity checks running when one calls `model_instance.save()`.

As a developer, I would expect `model_instance.save()` to validate the `choices` field against the list of possible choices, not least because the list is defined at the model level, participates in db migrations etc., so it should take effect on model instances.

I haven't been able to find any documentation or existing bug reports that clearly state that [https://docs.djangoproject.com/en/2.0/ref/models/fields/#choices choices] argument only affects the corresponding model form field presentation and does not ensure data integrity.

In summary:
1. I would like to know the rationale for ignoring `choices` during data integrity checks, in case I am missing something.
2. Please consider providing an option to turn data integrity check on.
3. If the current behavior is left intact, it should be explicitly documented in the official documentation."	Cleanup/optimization	closed	Documentation	1.11	Normal	fixed			Accepted	1	0	0	0	0	0
