3
Django Adminでは、すべてのアクション期間の合計を表示します。私は余分なフィールドwirhそれを解決した。合計は整数倍に変換するので、しかしDjango admin extraフィールドSum()TimeField
午前一時30分00秒H 午前3時45分00秒H
の和が47500,0に加算されます。
それがここで説明されたように私は私のadmin.pyを変更: django-admin: Add extra row with totals
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')
期間がmodles.pyにTimeFieldとしてdefienesです:
class Action (models.Model):
duration = models.TimeField()
誰かが集計を変更する方法を知っていますMyChangeListの()関数ですか? 私は浮動小数点数または整数に時間値を変更して、合計を作り、それを元に戻す必要があると思います。
提案がありますか?
ありがとうございます。
私はMysqlを使用しています。私はあなたが言及したmysqlのバグだと思う。 ありがとうございます** django-durationfield **をインストールして、MyChangeListの最後の2行を次のように変更しました:
class MyChangeList(ChangeList): ... q = self.result_list.aggregate(status_sum=Sum('duration')) self.status_count = timedelta(microseconds=q['action_sum'])
これで動作します;-) – surfi