diff options
| author | David Sanders <shang.xiao.sanders@gmail.com> | 2024-08-05 08:22:29 +0200 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2024-08-05 17:33:12 +0200 |
| commit | 509763c79952cde02d9f5b584af4278bdbed77b2 (patch) | |
| tree | fe74d1dd6527f4bc482e15bf4e4b05668b9d9b8a /tests/validation | |
| parent | 91a038754bb516d29cb79f0fed4025436b5c5346 (diff) | |
Fixed #35638 -- Updated validate_constraints to consider db_default.
Diffstat (limited to 'tests/validation')
| -rw-r--r-- | tests/validation/models.py | 2 | ||||
| -rw-r--r-- | tests/validation/test_unique.py | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tests/validation/models.py b/tests/validation/models.py index 653be4a239..ed88750364 100644 --- a/tests/validation/models.py +++ b/tests/validation/models.py @@ -48,7 +48,7 @@ class ModelToValidate(models.Model): class UniqueFieldsModel(models.Model): unique_charfield = models.CharField(max_length=100, unique=True) - unique_integerfield = models.IntegerField(unique=True) + unique_integerfield = models.IntegerField(unique=True, db_default=42) non_unique_field = models.IntegerField() diff --git a/tests/validation/test_unique.py b/tests/validation/test_unique.py index 4a8b3894f0..36ee6e9da0 100644 --- a/tests/validation/test_unique.py +++ b/tests/validation/test_unique.py @@ -146,6 +146,20 @@ class PerformUniqueChecksTest(TestCase): mtv = ModelToValidate(number=10, name="Some Name") mtv.full_clean() + def test_unique_db_default(self): + UniqueFieldsModel.objects.create(unique_charfield="foo", non_unique_field=42) + um = UniqueFieldsModel(unique_charfield="bar", non_unique_field=42) + with self.assertRaises(ValidationError) as cm: + um.full_clean() + self.assertEqual( + cm.exception.message_dict, + { + "unique_integerfield": [ + "Unique fields model with this Unique integerfield already exists." + ] + }, + ) + def test_unique_for_date(self): Post.objects.create( title="Django 1.0 is released", |
