summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorVIZZARD-X <vigneshanandmay13@gmail.com>2025-11-26 14:06:20 +0530
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2026-04-14 14:32:08 +0300
commit3157285e27a426530ef571855e0e29c317e210df (patch)
tree90f58a2e72a2541fbbeb90909daa57fea5f37491 /django
parent8d326336c5fba4740114fea5294a7b426c96d65c (diff)
Fixed #27150 -- Made base File objects truthy by default.
Diffstat (limited to 'django')
-rw-r--r--django/core/files/base.py7
-rw-r--r--django/core/files/uploadedfile.py3
-rw-r--r--django/db/models/fields/files.py3
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.