Django には次のような 2 つの単純なテーブルがあります。
class Session(models.Model):
id = models.AutoField(primary_key=True)
class Track(models.Model):
id = models.AutoField(primary_key=True)
session = models.ForeignKey(Session)
when = models.DateTimeField(null=False, auto_now_add=True)
すべてのセッションの平均期間を見つける必要があります。when
セッションの継続時間は、最高値と最低値を差し引いて計算されwhen
ます。私はこのようなことをすることができます:
Session.objects.all().annotate(duration=Max('track__when') - Min('track__when')).aggregate(Avg('duration'))
より良い方法はありますか?
ありがとう。