Kaydet (Commit) 962bb9b6 authored tarafından Marc Tamlyn's avatar Marc Tamlyn

Refs #2443 -- Move the durationfield converter logic.

This reduces how frequently this logic is run significantly.

Thanks to Anssi for the suggestion.
üst 5ca82e71
......@@ -1262,8 +1262,6 @@ class BaseDatabaseOperations(object):
Some field types on some backends do not provide data in the correct
format, this is the hook for coverter functions.
"""
if not self.connection.features.has_native_duration_field and internal_type == 'DurationField':
return [self.convert_durationfield_value]
return []
def convert_durationfield_value(self, value, field):
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment