1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Refs #35234 -- Deprecated CheckConstraint.check in favor of .condition.

Once the deprecation period ends CheckConstraint.check() can become the
documented method that performs system checks for BaseConstraint
subclasses.
This commit is contained in:
Simon Charette
2024-02-26 00:14:26 -05:00
committed by Mariusz Felisiak
parent f82c67aa21
commit daf7d482db
21 changed files with 210 additions and 136 deletions

View File

@@ -1855,7 +1855,9 @@ class ConstraintsTests(TestCase):
class Meta:
constraints = [
models.CheckConstraint(check=models.Q(age__gte=18), name="is_adult")
models.CheckConstraint(
condition=models.Q(age__gte=18), name="is_adult"
)
]
errors = Model.check(databases=self.databases)
@@ -1880,7 +1882,9 @@ class ConstraintsTests(TestCase):
class Meta:
required_db_features = {"supports_table_check_constraints"}
constraints = [
models.CheckConstraint(check=models.Q(age__gte=18), name="is_adult")
models.CheckConstraint(
condition=models.Q(age__gte=18), name="is_adult"
)
]
self.assertEqual(Model.check(databases=self.databases), [])
@@ -1892,7 +1896,7 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name",
check=models.Q(missing_field=2),
condition=models.Q(missing_field=2),
),
]
@@ -1919,7 +1923,7 @@ class ConstraintsTests(TestCase):
class Meta:
constraints = [
models.CheckConstraint(name="name", check=models.Q(parents=3)),
models.CheckConstraint(name="name", condition=models.Q(parents=3)),
]
self.assertEqual(
@@ -1942,7 +1946,7 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name",
check=models.Q(model__isnull=True),
condition=models.Q(model__isnull=True),
),
]
@@ -1964,7 +1968,7 @@ class ConstraintsTests(TestCase):
class Meta:
constraints = [
models.CheckConstraint(name="name", check=models.Q(m2m=2)),
models.CheckConstraint(name="name", condition=models.Q(m2m=2)),
]
self.assertEqual(
@@ -1992,7 +1996,7 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name",
check=models.Q(fk_1_id=2) | models.Q(fk_2=2),
condition=models.Q(fk_1_id=2) | models.Q(fk_2=2),
),
]
@@ -2007,7 +2011,7 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name",
check=models.Q(pk__gt=5) & models.Q(age__gt=models.F("pk")),
condition=models.Q(pk__gt=5) & models.Q(age__gt=models.F("pk")),
),
]
@@ -2023,7 +2027,7 @@ class ConstraintsTests(TestCase):
class Meta:
constraints = [
models.CheckConstraint(name="name", check=models.Q(field1=1)),
models.CheckConstraint(name="name", condition=models.Q(field1=1)),
]
self.assertEqual(
@@ -2053,20 +2057,21 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name1",
check=models.Q(
condition=models.Q(
field1__lt=models.F("parent__field1")
+ models.F("parent__field2")
),
),
models.CheckConstraint(
name="name2", check=models.Q(name=Lower("parent__name"))
name="name2", condition=models.Q(name=Lower("parent__name"))
),
models.CheckConstraint(
name="name3", check=models.Q(parent__field3=models.F("field1"))
name="name3",
condition=models.Q(parent__field3=models.F("field1")),
),
models.CheckConstraint(
name="name4",
check=models.Q(name=Lower("previous__name")),
condition=models.Q(name=Lower("previous__name")),
),
]
@@ -2100,7 +2105,7 @@ class ConstraintsTests(TestCase):
constraints = [
models.CheckConstraint(
name="name",
check=models.Q(
condition=models.Q(
(
models.Q(name="test")
& models.Q(field1__lt=models.F("parent__field1"))
@@ -2136,16 +2141,18 @@ class ConstraintsTests(TestCase):
class Meta:
required_db_features = {"supports_table_check_constraints"}
constraints = [
models.CheckConstraint(check=models.Q(id__gt=0), name="q_check"),
models.CheckConstraint(
check=models.ExpressionWrapper(
condition=models.Q(id__gt=0), name="q_check"
),
models.CheckConstraint(
condition=models.ExpressionWrapper(
models.Q(price__gt=20),
output_field=models.BooleanField(),
),
name="expression_wrapper_check",
),
models.CheckConstraint(
check=models.expressions.RawSQL(
condition=models.expressions.RawSQL(
"id = 0",
params=(),
output_field=models.BooleanField(),
@@ -2153,7 +2160,7 @@ class ConstraintsTests(TestCase):
name="raw_sql_check",
),
models.CheckConstraint(
check=models.Q(
condition=models.Q(
models.ExpressionWrapper(
models.Q(
models.expressions.RawSQL(