diff options
| author | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2024-08-05 21:36:49 +0200 |
|---|---|---|
| committer | Natalia <124304+nessita@users.noreply.github.com> | 2024-08-05 16:37:26 -0300 |
| commit | 2ba4f4b0b550a98f10deac47c1bbddccbc7365cd (patch) | |
| tree | 06d30b56e9c8d1c27dc886f72e3acd52cfdf7877 /tests | |
| parent | aed4ffe1897c51c0dfd8689c0834ca4ca0a8a03e (diff) | |
[5.1.x] Fixed #35657 -- Made FileField handle db_default values.
Backport of 8deb6bb1fc427762d56646bf7306cbd11fb5bb68 from main.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/file_storage/models.py | 3 | ||||
| -rw-r--r-- | tests/file_storage/tests.py | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/file_storage/models.py b/tests/file_storage/models.py index 873c3e176a..cb0207cae9 100644 --- a/tests/file_storage/models.py +++ b/tests/file_storage/models.py @@ -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 diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py index 868b18dd2c..c7ca873521 100644 --- a/tests/file_storage/tests.py +++ b/tests/file_storage/tests.py @@ -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() |
