mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #34701 -- Added support for NULLS [NOT] DISTINCT on PostgreSQL 15+.
This commit is contained in:
committed by
Mariusz Felisiak
parent
98cfb90182
commit
595a2abb58
@@ -6,6 +6,7 @@ from .models import (
|
||||
ChildUniqueConstraintProduct,
|
||||
Product,
|
||||
UniqueConstraintConditionProduct,
|
||||
UniqueConstraintNullsDistinctProduct,
|
||||
UniqueConstraintProduct,
|
||||
)
|
||||
|
||||
@@ -93,3 +94,25 @@ class PerformConstraintChecksTest(TestCase):
|
||||
UniqueConstraintConditionProduct.objects.create(name="product")
|
||||
product = UniqueConstraintConditionProduct(name="product")
|
||||
product.full_clean(validate_constraints=False)
|
||||
|
||||
@skipUnlessDBFeature("supports_nulls_distinct_unique_constraints")
|
||||
def test_full_clean_with_nulls_distinct_unique_constraints(self):
|
||||
UniqueConstraintNullsDistinctProduct.objects.create(name=None)
|
||||
product = UniqueConstraintNullsDistinctProduct(name=None)
|
||||
with self.assertRaises(ValidationError) as cm:
|
||||
product.full_clean()
|
||||
self.assertEqual(
|
||||
cm.exception.message_dict,
|
||||
{
|
||||
"name": [
|
||||
"Unique constraint nulls distinct product with this Name "
|
||||
"already exists."
|
||||
]
|
||||
},
|
||||
)
|
||||
|
||||
@skipUnlessDBFeature("supports_nulls_distinct_unique_constraints")
|
||||
def test_full_clean_with_nulls_distinct_unique_constraints_disabled(self):
|
||||
UniqueConstraintNullsDistinctProduct.objects.create(name=None)
|
||||
product = UniqueConstraintNullsDistinctProduct(name=None)
|
||||
product.full_clean(validate_constraints=False)
|
||||
|
||||
Reference in New Issue
Block a user