﻿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
36813	Convert system checks for max_length and max_digits to __init__() checks.	Jacob Walls	Mehraz Hossain Rumman	"#28120 extended a system check validating  `CharField.max_length` to also validate that booleans are not provided.

However, system checks only check model fields, not fields constructed for use in the `output_field` argument of an `Expression`, e.g. when using `Cast()`. (Invalid inputs to `Cast()` error out at the db level instead of raising nicely.)

I'm not suggesting to move ''a bunch'' of checks over to `*Field.__init__()`, but I ''am'' suggesting that for simple checks on `isinstance` and `> 0` that we could error out in `{Char,Decimal}Field.__init__` instead of via a system check, to catch additional usage mistakes.

Another use case besides `output_field` would be for database setup before tests run checks, as in #34727."	Cleanup/optimization	assigned	Database layer (models, ORM)	dev	Normal			Simon Charette Mehraz Hossain Rumman	Accepted	0	1	0	1	0	0
