summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
authorMatthias Kestenholz <mk@feinheit.ch>2020-07-23 01:38:31 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-07-24 11:06:57 +0200
commitc1f8d87bb0ac72b213bf31e672bd34c93bda6b18 (patch)
tree75cdd10eb1d7840202003eef2300dca2b79c2e18 /tests/model_fields
parent41065cfed56d5408dd8f267b9e70089471a7f1be (diff)
Fixed #31812 -- Fixed FileField.model for fields defined in abstract models.
Regression in a93425a37f4defdb31d4ca96bb3bf6da21f0b5ce.
Diffstat (limited to 'tests/model_fields')
-rw-r--r--tests/model_fields/test_filefield.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/model_fields/test_filefield.py b/tests/model_fields/test_filefield.py
index d4e70d6041..51e29f6d25 100644
--- a/tests/model_fields/test_filefield.py
+++ b/tests/model_fields/test_filefield.py
@@ -8,8 +8,9 @@ from pathlib import Path
from django.core.files import File, temp
from django.core.files.base import ContentFile
from django.core.files.uploadedfile import TemporaryUploadedFile
-from django.db import IntegrityError
+from django.db import IntegrityError, models
from django.test import TestCase, override_settings
+from django.test.utils import isolate_apps
from .models import Document
@@ -147,3 +148,21 @@ class FileFieldTests(TestCase):
self.assertEqual(document.myfile.field, loaded_myfile.field)
finally:
document.myfile.delete()
+
+ @isolate_apps('model_fields')
+ def test_abstract_filefield_model(self):
+ """
+ FileField.model returns the concrete model for fields defined in an
+ abstract model.
+ """
+ class AbstractMyDocument(models.Model):
+ myfile = models.FileField(upload_to='unused')
+
+ class Meta:
+ abstract = True
+
+ class MyDocument(AbstractMyDocument):
+ pass
+
+ document = MyDocument(myfile='test_file.py')
+ self.assertEqual(document.myfile.field.model, MyDocument)