В Django Admin я хочу отобразить сумму всех длительностей действий.Я решил это с помощью дополнительного поля.Но сумма
01: 30: 00 ч 03:45:00 ч
суммируется с 47500,0, потому что сумма преобразуется в целое число.
Я изменил свойadmin.py, как описано здесь: django-admin: добавить дополнительную строку с итогами
class MyChangeList(ChangeList):
def get_results(self, *args, **kwargs):
super(MyChangeList, self).get_results(*args, **kwargs)
q = self.result_list.aggregate(status_sum=Sum('duration'))
self.status_count = q['action_sum']
...
class ActionAdmin(admin.ModelAdmin):
def get_changelist(self, request):
return MyChangeList
class Meta:
model = Status
list_display = ('name', 'duration')
Продолжительность определяется как TimeField в modles.py:
class Action (models.Model):
duration = models.TimeField()
Кто-нибудь знает, как изменить функцию aggregate () в MyChangeList?Я думаю, что мне нужно изменить значения времени на float или integer, сделать сумму и затем преобразовать ее обратно.
Любое предложение?
Большое спасибо.