mirror of
https://github.com/django/django.git
synced 2025-08-23 10:19:13 +00:00
[5.0.x] Refs #35336 -- Fixed SchemaTests.test_add_generated_field_contains() test on PostgreSQL.
Concat() in Django 5.0 is not immutable on PostgreSQL and cannot be used in GeneratedField, see 6364b6ee1071381eb3a23ba6b821fc0d6f0fce75.
This commit is contained in:
parent
4eca0ea042
commit
d859c0be9c
@ -58,8 +58,8 @@ from django.db.models.functions import (
|
|||||||
Abs,
|
Abs,
|
||||||
Cast,
|
Cast,
|
||||||
Collate,
|
Collate,
|
||||||
Concat,
|
|
||||||
Lower,
|
Lower,
|
||||||
|
LPad,
|
||||||
Random,
|
Random,
|
||||||
Round,
|
Round,
|
||||||
Upper,
|
Upper,
|
||||||
@ -907,7 +907,7 @@ class SchemaTests(TransactionTestCase):
|
|||||||
class GeneratedFieldContainsModel(Model):
|
class GeneratedFieldContainsModel(Model):
|
||||||
text = TextField(default="foo")
|
text = TextField(default="foo")
|
||||||
generated = GeneratedField(
|
generated = GeneratedField(
|
||||||
expression=Concat("text", Value("%")),
|
expression=LPad("text", 5, Value("%")),
|
||||||
db_persist=True,
|
db_persist=True,
|
||||||
output_field=TextField(),
|
output_field=TextField(),
|
||||||
)
|
)
|
||||||
@ -931,7 +931,7 @@ class SchemaTests(TransactionTestCase):
|
|||||||
obj = GeneratedFieldContainsModel.objects.create()
|
obj = GeneratedFieldContainsModel.objects.create()
|
||||||
obj.refresh_from_db()
|
obj.refresh_from_db()
|
||||||
self.assertEqual(obj.text, "foo")
|
self.assertEqual(obj.text, "foo")
|
||||||
self.assertEqual(obj.generated, "foo%")
|
self.assertEqual(obj.generated, "%%foo")
|
||||||
self.assertIs(obj.contains_foo, True)
|
self.assertIs(obj.contains_foo, True)
|
||||||
|
|
||||||
@isolate_apps("schema")
|
@isolate_apps("schema")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user