diff options
Diffstat (limited to 'tests/model_fields')
| -rw-r--r-- | tests/model_fields/models.py | 12 | ||||
| -rw-r--r-- | tests/model_fields/test_generatedfield.py | 8 |
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): |
