summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-05-03 09:21:35 +0200
committernessita <124304+nessita@users.noreply.github.com>2024-05-03 23:52:24 -0300
commitac9e18f1c4f17d956d203779df1b22faeffa670f (patch)
tree4c0b3dbf14c94c3aa9f54c975a7e939db57f4de2 /tests
parent59c3f8a539dcea6845ace20f2b5212f7378948ba (diff)
[5.0.x] Refs #35359 -- Fixed OperationTests.test_add_generate_field() test on PostgreSQL.
Concat() in Django 5.0 is not immutable on PostgreSQL and cannot be used in GeneratedField, see 6364b6ee1071381eb3a23ba6b821fc0d6f0fce75.
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_operations.py20
1 files changed, 7 insertions, 13 deletions
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index d3da7670de..eaf1959846 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -8,7 +8,7 @@ from django.db.migrations.operations.fields import FieldOperation
from django.db.migrations.state import ModelState, ProjectState
from django.db.models import F
from django.db.models.expressions import Value
-from django.db.models.functions import Abs, Concat, Pi
+from django.db.models.functions import Abs, Pi
from django.db.transaction import atomic
from django.test import (
SimpleTestCase,
@@ -1389,7 +1389,7 @@ class OperationTests(OperationTestBase):
"Pony",
fields=[
("id", models.AutoField(primary_key=True)),
- ("name", models.CharField(max_length=20)),
+ ("pink", models.IntegerField()),
(
"rider",
models.ForeignKey(
@@ -1397,10 +1397,10 @@ class OperationTests(OperationTestBase):
),
),
(
- "name_and_id",
+ "pink_plus_rider",
models.GeneratedField(
- expression=Concat(("name"), ("rider_id")),
- output_field=models.TextField(),
+ expression=F("pink") + F("rider_id"),
+ output_field=models.IntegerField(),
db_persist=True,
),
),
@@ -1411,14 +1411,8 @@ class OperationTests(OperationTestBase):
Pony = project_state.apps.get_model(app_label, "Pony")
Rider = project_state.apps.get_model(app_label, "Rider")
rider = Rider.objects.create()
- pony = Pony.objects.create(name="pony", rider=rider)
- self.assertEqual(pony.name_and_id, str(pony.name) + str(rider.id))
-
- new_rider = Rider.objects.create()
- pony.rider = new_rider
- pony.save()
- pony.refresh_from_db()
- self.assertEqual(pony.name_and_id, str(pony.name) + str(new_rider.id))
+ pony = Pony.objects.create(pink=3, rider=rider)
+ self.assertEqual(pony.pink_plus_rider, 3 + rider.id)
def test_add_charfield(self):
"""