          else:
              return "TIME(%s)" % (field_name)
  
      def date_interval_sql(self, timedelta):
          return "INTERVAL '%06f' SECOND_MICROSECOND" % timedelta.total_seconds()
  
      def format_for_duration_arithmetic(self, sql):
          return 'INTERVAL %s MICROSECOND' % sql
  
      def force_no_ordering(self):
 
</s> remove     return (left - right).total_seconds() * 1000000
 </s> add     return duration_microseconds(left - right) </s> remove         # Discard any fractional microseconds due to floating point arithmetic.
        return round(value.total_seconds() * 1000000)
 </s> add         return duration_microseconds(value) </s> remove         duration = datetime.timedelta(days=123, seconds=123, microseconds=123)
 </s> add         duration = datetime.timedelta(microseconds=8999999999999999)
        return 'INTERVAL %s MICROSECOND' % duration_microseconds(timedelta)
          else:
              return "TIME(%s)" % (field_name)
  
      def date_interval_sql(self, timedelta):
        return 'INTERVAL %s MICROSECOND' % duration_microseconds(timedelta)
  
      def format_for_duration_arithmetic(self, sql):
          return 'INTERVAL %s MICROSECOND' % sql
  
      def force_no_ordering(self):
keep keep keep keep replace keep keep keep keep keep
 Fixed #28926 -- Fixed loss of precision of big DurationField values on SQLite and MySQL. 
django/db/backends/mysql/operations.py