, - ( )::
import datetime
from django.db import models
class Duration(models.IntegerField):
description = "Stores the number of seconds as integer, displays as time"
def to_python(self, value):
if isinstance(value, models.IntegerField):
return value
else:
return "x" + str(datetime.timedelta(0, value))
def get_db_prep_value(self, value):
hours, minutes, seconds = map(int, value[1:].split(':'))
delta = datetime.timedelta(hours=hours, minutes=minutes, seconds=seconds)
return delta.seconds
, , , Python, , . I.e., object.duration == 'x00:1:12', 72.
. .