summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_fields')
-rw-r--r--tests/model_fields/models.py12
-rw-r--r--tests/model_fields/test_generatedfield.py8
2 files changed, 20 insertions, 0 deletions
diff --git a/tests/model_fields/models.py b/tests/model_fields/models.py
index b4b7b5bd4c..aea02964e2 100644
--- a/tests/model_fields/models.py
+++ b/tests/model_fields/models.py
@@ -482,6 +482,18 @@ class UUIDGrandchild(UUIDChild):
pass
+class GeneratedModelFieldWithConverters(models.Model):
+ field = models.UUIDField()
+ field_copy = models.GeneratedField(
+ expression=F("field"),
+ output_field=models.UUIDField(),
+ db_persist=True,
+ )
+
+ class Meta:
+ required_db_features = {"supports_stored_generated_columns"}
+
+
class GeneratedModel(models.Model):
a = models.IntegerField()
b = models.IntegerField()
diff --git a/tests/model_fields/test_generatedfield.py b/tests/model_fields/test_generatedfield.py
index 9e5d9d87c3..056a80c294 100644
--- a/tests/model_fields/test_generatedfield.py
+++ b/tests/model_fields/test_generatedfield.py
@@ -1,3 +1,5 @@
+import uuid
+
from django.apps import apps
from django.db import IntegrityError, connection
from django.db.models import (
@@ -14,6 +16,7 @@ from django.test.utils import isolate_apps
from .models import (
GeneratedModel,
+ GeneratedModelFieldWithConverters,
GeneratedModelNull,
GeneratedModelNullVirtual,
GeneratedModelOutputFieldDbCollation,
@@ -266,6 +269,11 @@ class StoredGeneratedFieldTests(GeneratedFieldTestMixin, TestCase):
output_field_db_collation_model = GeneratedModelOutputFieldDbCollation
params_model = GeneratedModelParams
+ def test_create_field_with_db_converters(self):
+ obj = GeneratedModelFieldWithConverters.objects.create(field=uuid.uuid4())
+ obj = self._refresh_if_needed(obj)
+ self.assertEqual(obj.field, obj.field_copy)
+
@skipUnlessDBFeature("supports_virtual_generated_columns")
class VirtualGeneratedFieldTests(GeneratedFieldTestMixin, TestCase):