Opened 8 years ago
Closed 8 years ago
#28906 closed Cleanup/optimization (fixed)
Reduce calls to bool()
| Reported by: | Дилян Палаузов | Owned by: | nobody |
|---|---|---|---|
| Component: | Core (Other) | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Ready for checkin | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Compared to the attached patch, these changes might be more controversial:
diff --git a/django/contrib/gis/db/backends/spatialite/features.py b/django/contrib/gis/db/backends/spatialite/features
--- a/django/contrib/gis/db/backends/spatialite/features.py
+++ b/django/contrib/gis/db/backends/spatialite/features.py
@@ -10,4 +10,4 @@ class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures):
@cached_property
def supports_area_geodetic(self):
- return bool(self.connection.ops.lwgeom_version())
+ return self.connection.ops.lwgeom_version()
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py
--- a/django/db/models/sql/compiler.py
+++ b/django/db/models/sql/compiler.py
@@ -51,7 +51,7 @@ class SQLCompiler:
order_by = self.get_order_by()
self.where, self.having = self.query.where.split_having()
extra_select = self.get_extra_select(order_by, self.select)
- self.has_extra_select = bool(extra_select)
+ self.has_extra_select = extra_select
group_by = self.get_group_by(self.select + extra_select, order_by)
return extra_select, order_by, group_by
@@ -1216,11 +1216,10 @@ class SQLInsertCompiler(SQLCompiler):
insert_statement = self.connection.ops.insert_statement(on_conflict=self.query.on_conflict)
result = ['%s %s' % (insert_statement, qn(opts.db_table))]
- has_fields = bool(self.query.fields)
- fields = self.query.fields if has_fields else [opts.pk]
+ fields = self.query.fields or [opts.pk]
result.append('(%s)' % ', '.join(qn(f.column) for f in fields))
- if has_fields:
+ if self.query.fields:
value_rows = [
[self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
for obj in self.query.objs
Attachments (1)
Change History (4)
by , 8 years ago
| Attachment: | less_bool.patch added |
|---|
comment:1 by , 8 years ago
comment:2 by , 8 years ago
| Component: | Uncategorized → Core (Other) |
|---|---|
| Triage Stage: | Unreviewed → Ready for checkin |
PR. I updated the patch as per Jon's comments which I also agree with.
Note:
See TracTickets
for help on using tickets.
For methods and members, I think the type might be considered part of the interface and should perhaps stay.
Reducing
bool()in expressions seems OK to me though.