mirror of
https://github.com/django/django.git
synced 2025-07-12 07:45:11 +00:00
Fixed #32858 -- Fixed ExclusionConstraint crash with index transforms in expressions.
This commit is contained in:
parent
501a371411
commit
b69b0c3fe8
3 changed files with 20 additions and 1 deletions
|
@ -14,7 +14,9 @@ from django.test import modify_settings, skipUnlessDBFeature
|
|||
from django.utils import timezone
|
||||
|
||||
from . import PostgreSQLTestCase
|
||||
from .models import HotelReservation, RangesModel, Room, Scene
|
||||
from .models import (
|
||||
HotelReservation, IntegerArrayModel, RangesModel, Room, Scene,
|
||||
)
|
||||
|
||||
try:
|
||||
from psycopg2.extras import DateRange, NumericRange
|
||||
|
@ -670,6 +672,19 @@ class ExclusionConstraintTests(PostgreSQLTestCase):
|
|||
self.get_constraints(HotelReservation._meta.db_table),
|
||||
)
|
||||
|
||||
def test_index_transform(self):
|
||||
constraint_name = 'first_index_equal'
|
||||
constraint = ExclusionConstraint(
|
||||
name=constraint_name,
|
||||
expressions=[('field__0', RangeOperators.EQUAL)],
|
||||
)
|
||||
with connection.schema_editor() as editor:
|
||||
editor.add_constraint(IntegerArrayModel, constraint)
|
||||
self.assertIn(
|
||||
constraint_name,
|
||||
self.get_constraints(IntegerArrayModel._meta.db_table),
|
||||
)
|
||||
|
||||
def test_range_adjacent_initially_deferred(self):
|
||||
constraint_name = 'ints_adjacent_deferred'
|
||||
self.assertNotIn(constraint_name, self.get_constraints(RangesModel._meta.db_table))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue