summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_constraints.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_constraints.py b/tests/postgres_tests/test_constraints.py
index a6f7b5be85..2b6df7d5f5 100644
--- a/tests/postgres_tests/test_constraints.py
+++ b/tests/postgres_tests/test_constraints.py
@@ -10,12 +10,14 @@ from django.db.models import (
F,
Func,
IntegerField,
+ Model,
Q,
UniqueConstraint,
)
from django.db.models.fields.json import KeyTextTransform
from django.db.models.functions import Cast, Left, Lower
from django.test import ignore_warnings, modify_settings, skipUnlessDBFeature
+from django.test.utils import isolate_apps
from django.utils import timezone
from django.utils.deprecation import RemovedInDjango50Warning
@@ -1151,6 +1153,29 @@ class ExclusionConstraintTests(PostgreSQLTestCase):
editor.add_constraint(Room, constraint)
self.assertIn(constraint_name, self.get_constraints(Room._meta.db_table))
+ @isolate_apps("postgres_tests")
+ def test_table_create(self):
+ constraint_name = "exclusion_equal_number_tc"
+
+ class ModelWithExclusionConstraint(Model):
+ number = IntegerField()
+
+ class Meta:
+ app_label = "postgres_tests"
+ constraints = [
+ ExclusionConstraint(
+ name=constraint_name,
+ expressions=[("number", RangeOperators.EQUAL)],
+ )
+ ]
+
+ with connection.schema_editor() as editor:
+ editor.create_model(ModelWithExclusionConstraint)
+ self.assertIn(
+ constraint_name,
+ self.get_constraints(ModelWithExclusionConstraint._meta.db_table),
+ )
+
@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
class ExclusionConstraintOpclassesDepracationTests(PostgreSQLTestCase):