mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[5.1.x] Fixed #35657 -- Made FileField handle db_default values.
Backport of 8deb6bb1fc from main.
This commit is contained in:
@@ -72,6 +72,9 @@ class Storage(models.Model):
|
||||
default = models.FileField(
|
||||
storage=temp_storage, upload_to="tests", default="tests/default.txt"
|
||||
)
|
||||
db_default = models.FileField(
|
||||
storage=temp_storage, upload_to="tests", db_default="tests/db_default.txt"
|
||||
)
|
||||
empty = models.FileField(storage=temp_storage)
|
||||
limited_length = models.FileField(
|
||||
storage=temp_storage, upload_to="tests", max_length=20
|
||||
|
||||
@@ -944,6 +944,20 @@ class FileFieldStorageTests(TestCase):
|
||||
self.assertEqual(obj.default.read(), b"default content")
|
||||
obj.default.close()
|
||||
|
||||
def test_filefield_db_default(self):
|
||||
temp_storage.save("tests/db_default.txt", ContentFile("default content"))
|
||||
obj = Storage.objects.create()
|
||||
self.assertEqual(obj.db_default.name, "tests/db_default.txt")
|
||||
self.assertEqual(obj.db_default.read(), b"default content")
|
||||
obj.db_default.close()
|
||||
|
||||
# File is not deleted, even if there are no more objects using it.
|
||||
obj.delete()
|
||||
s = Storage()
|
||||
self.assertEqual(s.db_default.name, "tests/db_default.txt")
|
||||
self.assertEqual(s.db_default.read(), b"default content")
|
||||
s.db_default.close()
|
||||
|
||||
def test_empty_upload_to(self):
|
||||
# upload_to can be empty, meaning it does not use subdirectory.
|
||||
obj = Storage()
|
||||
|
||||
Reference in New Issue
Block a user