diff options
| author | VIZZARD-X <vigneshanandmay13@gmail.com> | 2025-11-26 14:06:20 +0530 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2026-04-14 14:32:08 +0300 |
| commit | 3157285e27a426530ef571855e0e29c317e210df (patch) | |
| tree | 90f58a2e72a2541fbbeb90909daa57fea5f37491 /django | |
| parent | 8d326336c5fba4740114fea5294a7b426c96d65c (diff) | |
Fixed #27150 -- Made base File objects truthy by default.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/files/base.py | 7 | ||||
| -rw-r--r-- | django/core/files/uploadedfile.py | 3 | ||||
| -rw-r--r-- | django/db/models/fields/files.py | 3 |
3 files changed, 8 insertions, 5 deletions
diff --git a/django/core/files/base.py b/django/core/files/base.py index 461ff8b873..67575958f8 100644 --- a/django/core/files/base.py +++ b/django/core/files/base.py @@ -20,10 +20,10 @@ class File(FileProxyMixin): return self.name or "" def __repr__(self): - return "<%s: %s>" % (self.__class__.__name__, self or "None") + return "<%s: %s>" % (self.__class__.__name__, self.name or "None") def __bool__(self): - return bool(self.name) + return True def __len__(self): return self.size @@ -134,9 +134,6 @@ class ContentFile(File): def __str__(self): return "Raw content" - def __bool__(self): - return True - def open(self, mode=None): self.seek(0) return self diff --git a/django/core/files/uploadedfile.py b/django/core/files/uploadedfile.py index 1d006ede4f..6646b1d7bf 100644 --- a/django/core/files/uploadedfile.py +++ b/django/core/files/uploadedfile.py @@ -45,6 +45,9 @@ class UploadedFile(File): def __repr__(self): return "<%s: %s (%s)>" % (self.__class__.__name__, self.name, self.content_type) + def __bool__(self): + return bool(self.name) + def _get_name(self): return self._name diff --git a/django/db/models/fields/files.py b/django/db/models/fields/files.py index dbf227ae92..dc32e0d209 100644 --- a/django/db/models/fields/files.py +++ b/django/db/models/fields/files.py @@ -34,6 +34,9 @@ class FieldFile(File, AltersData): def __hash__(self): return hash(self.name) + def __bool__(self): + return bool(self.name) + # The standard File contains most of the necessary properties, but # FieldFiles can be instantiated without a name, so that needs to # be checked for here. |
