4

サイトがpingリクエストに応答しないかどうかをチェックする、Djangoに組み込まれた単純な稼働時間監視アプリがあります。列「dt」にpingされたときのタイムスタンプ、列「ms」にミリ秒の応答時間が格納されます。サイトは毎分 ping され、エントリがデータベースに入れられます。

Django モデルは次のようになります。

class Uptime (models.Model):
    user = models.ForeignKey(User)
    dt = models.DateTimeField()
    ms = models.IntegerField()

dt 列から一度に 1 日を取得し、その日のミリ秒応答時間の平均を取得したいと思います。1 日あたり 1440 件のエントリがありますが、その日 (2013 年 4 月 19 日など) を取得して、平均応答時間 (ミリ秒) を取得したいと思います。以下で使用しているコードは間違いなく間違っていますが、正しい方向に進んでいるように感じます。どうすればこれを機能させることができますか?

       output_date = Uptime.objects.filter(user = request.user).values_list('dt', flat = True).filter(dt__range=(startTime, endTime)).order_by('dt').extra(select={'day': 'extract( day from dt )'}).values('day')
       output_ms = Uptime.objects.filter(user = request.user).filter(dt__range=(startTime, endTime)).extra(select={'day': 'date( dt )'}).values('day').aggregate(Avg('ms'))

ありがとう!

4

1 に答える 1