diff options
| author | Simon Charette <charette.s@gmail.com> | 2023-07-09 13:47:21 -0400 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-07-19 21:46:20 +0200 |
| commit | d7d80040c1e3a282435155f9974e1eafa8da66e5 (patch) | |
| tree | 8425674848b11e12a6d176608c67d63459a791c1 | |
| parent | 595a2abb58e04caa4d55fb2589bb80fb2a8fdfa1 (diff) | |
Made UniqueConstraint raise TypeError for type violations.
| -rw-r--r-- | django/db/models/constraints.py | 8 | ||||
| -rw-r--r-- | tests/constraints/tests.py | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/django/db/models/constraints.py b/django/db/models/constraints.py index e5136f89f5..56d547e6b0 100644 --- a/django/db/models/constraints.py +++ b/django/db/models/constraints.py @@ -217,15 +217,15 @@ class UniqueConstraint(BaseConstraint): "Use django.contrib.postgres.indexes.OpClass() instead." ) if not isinstance(deferrable, (NoneType, Deferrable)): - raise ValueError( + raise TypeError( "UniqueConstraint.deferrable must be a Deferrable instance." ) if not isinstance(include, (NoneType, list, tuple)): - raise ValueError("UniqueConstraint.include must be a list or tuple.") + raise TypeError("UniqueConstraint.include must be a list or tuple.") if not isinstance(opclasses, (list, tuple)): - raise ValueError("UniqueConstraint.opclasses must be a list or tuple.") + raise TypeError("UniqueConstraint.opclasses must be a list or tuple.") if not isinstance(nulls_distinct, (NoneType, bool)): - raise ValueError("UniqueConstraint.nulls_distinct must be a bool.") + raise TypeError("UniqueConstraint.nulls_distinct must be a bool.") if opclasses and len(fields) != len(opclasses): raise ValueError( "UniqueConstraint.fields and UniqueConstraint.opclasses must " diff --git a/tests/constraints/tests.py b/tests/constraints/tests.py index 5fde168af4..7e3d20e40c 100644 --- a/tests/constraints/tests.py +++ b/tests/constraints/tests.py @@ -1046,7 +1046,7 @@ class UniqueConstraintTests(TestCase): def test_invalid_defer_argument(self): message = "UniqueConstraint.deferrable must be a Deferrable instance." - with self.assertRaisesMessage(ValueError, message): + with self.assertRaisesMessage(TypeError, message): models.UniqueConstraint( fields=["name"], name="name_invalid", @@ -1064,7 +1064,7 @@ class UniqueConstraintTests(TestCase): def test_invalid_include_argument(self): msg = "UniqueConstraint.include must be a list or tuple." - with self.assertRaisesMessage(ValueError, msg): + with self.assertRaisesMessage(TypeError, msg): models.UniqueConstraint( name="uniq_include", fields=["field"], @@ -1073,7 +1073,7 @@ class UniqueConstraintTests(TestCase): def test_invalid_opclasses_argument(self): msg = "UniqueConstraint.opclasses must be a list or tuple." - with self.assertRaisesMessage(ValueError, msg): + with self.assertRaisesMessage(TypeError, msg): models.UniqueConstraint( name="uniq_opclasses", fields=["field"], @@ -1082,7 +1082,7 @@ class UniqueConstraintTests(TestCase): def test_invalid_nulls_distinct_argument(self): msg = "UniqueConstraint.nulls_distinct must be a bool." - with self.assertRaisesMessage(ValueError, msg): + with self.assertRaisesMessage(TypeError, msg): models.UniqueConstraint( name="uniq_opclasses", fields=["field"], nulls_distinct="NULLS DISTINCT" ) |
