Fixed #35233 -- Moved template engine system checks to backend methods.

Thanks Adam Johnson for reviews.
This commit is contained in:
Giannis Terzopoulos 2024-03-18 14:50:32 +01:00 committed by Mariusz Felisiak
parent b98271a6e4
commit d658a3162f
7 changed files with 171 additions and 183 deletions

View file

@ -130,18 +130,18 @@ The code below is equivalent to the code above::
.. _field-checking:
Field, model, manager, and database checks
------------------------------------------
Field, model, manager, template engine, and database checks
-----------------------------------------------------------
In some cases, you won't need to register your check function -- you can
piggyback on an existing registration.
Fields, models, model managers, and database backends all implement a
``check()`` method that is already registered with the check framework. If you
want to add extra checks, you can extend the implementation on the base class,
perform any extra checks you need, and append any messages to those generated
by the base class. It's recommended that you delegate each check to separate
methods.
Fields, models, model managers, template engines, and database backends all
implement a ``check()`` method that is already registered with the check
framework. If you want to add extra checks, you can extend the implementation
on the base class, perform any extra checks you need, and append any messages
to those generated by the base class. It's recommended that you delegate each
check to separate methods.
Consider an example where you are implementing a custom field named
``RangedIntegerField``. This field adds ``min`` and ``max`` arguments to the
@ -195,6 +195,10 @@ the only difference is that the check is a classmethod, not an instance method::
# ... your own checks ...
return errors
.. versionchanged:: 5.1
In older versions, template engines didn't implement a ``check()`` method.
Writing tests
-------------