diff options
| author | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2024-08-05 21:36:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-05 16:36:49 -0300 |
| commit | 8deb6bb1fc427762d56646bf7306cbd11fb5bb68 (patch) | |
| tree | 563f85226d726bda252a089ea6f0f42199beaf62 /tests/file_storage | |
| parent | e9e14709ffaefaf90c1b49e3d5a1c79b481df52a (diff) | |
Fixed #35657 -- Made FileField handle db_default values.
Diffstat (limited to 'tests/file_storage')
| -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() |
