diff options
| author | David Sanders <shang.xiao.sanders@gmail.com> | 2023-11-16 21:56:36 +1100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-28 11:41:06 +0100 |
| commit | 7714ccfeae969aca52ad46c1d69a13fac4086c08 (patch) | |
| tree | d850d2ef397b1504583d14076a450861f9d540fc /docs | |
| parent | 107aa76bcf5d5599460fdce61dfa15bb147acc62 (diff) | |
Refs #34964 -- Doc'd that Q expression order is preserved.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/constraints.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/ref/models/constraints.txt b/docs/ref/models/constraints.txt index cc308cedf2..0d6d87afbe 100644 --- a/docs/ref/models/constraints.txt +++ b/docs/ref/models/constraints.txt @@ -119,6 +119,18 @@ specifies the check you want the constraint to enforce. For example, ``CheckConstraint(check=Q(age__gte=18), name='age_gte_18')`` ensures the age field is never less than 18. +.. admonition:: Expression order + + ``Q`` argument order is not necessarily preserved, however the order of + ``Q`` expressions themselves are preserved. This may be important for + databases that preserve check constraint expression order for performance + reasons. For example, use the following format if order matters:: + + CheckConstraint( + check=Q(age__gte=18) & Q(expensive_check=condition), + name="age_gte_18_and_others", + ) + .. admonition:: Oracle Checks with nullable fields on Oracle must include a condition allowing for |
