0
間の最速の要求をジャンゴ:は、クエリとサブクエリ
class Record(models.Model):
start_time = models.Integerfield() Timestamp
そして、私は開始日と終了日の間の日数を反復処理するビューインチ
は、それが行うには速いです:
records = Record.objects.filter(
start_time__gte=dt.datetime.timestamp(start_date),
start_time__lt=dt.datetime.timestamp(end_date)
)
for start_day, stop_day in days_between_start_and_end_date:
records_week = records.filter(
start_time__gte=dt.datetime.timestamp(start_day),
start_time__lt=dt.datetime.timestamp(stop_day)
)
または直接実際に
for start_day, stop_day in days_between_start_and_end_date:
records_week = Record.objects.filter(
start_time__gte=dt.datetime.timestamp(start_day),
start_time__lt=dt.datetime.timestamp(stop_day)
)
私が試したし、任意の違いを見ることができませんでしたが、私は私のために私がやっている理由ので、理解していません第1のケースでは1つの大きな要求があり、第2のケースでは小さいものが多い。どんな考え?
クエリーセットは怠惰であることを覚えておいてください。これらの例のいずれも問合せを実行しません。 – knbk