summaryrefslogtreecommitdiff
path: root/django/db/models/fields/__init__.py
diff options
context:
space:
mode:
authorMarc Tamlyn <marc.tamlyn@gmail.com>2014-12-23 10:11:28 +0000
committerMarc Tamlyn <marc.tamlyn@gmail.com>2014-12-23 10:41:42 +0000
commit962bb9b6bd1deb042e139316108ec0da44cb22a9 (patch)
tree3886b1b493416099023defcad8ad8f3e1147256a /django/db/models/fields/__init__.py
parent5ca82e710e2f92b8c5114492205c8764918407d3 (diff)
Refs #2443 -- Move the durationfield converter logic.
This reduces how frequently this logic is run significantly. Thanks to Anssi for the suggestion.
Diffstat (limited to 'django/db/models/fields/__init__.py')
-rw-r--r--django/db/models/fields/__init__.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index e8e6750f1e..6a56603359 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -1614,6 +1614,12 @@ class DurationField(Field):
return value
return value.total_seconds() * 1000000
+ def get_db_converters(self, connection):
+ converters = []
+ if not connection.features.has_native_duration_field:
+ converters.append(connection.ops.convert_durationfield_value)
+ return converters + super(DurationField, self).get_db_converters(connection)
+
def value_to_string(self, obj):
val = self._get_val_from_obj(obj)
return '' if val is None else duration_string(val)