2016-08-29 8 views
0

の違いによるフィルタリングのクエリは、私は2つのDateTimeFieldsでモデルを持っています。例えば、開始と終了の差が45秒を超える場合。ジャンゴ2 DateTimeFields

私は推測としてこれを試してみました:

 .filter((models.F('endtime') - models.F('starttime')).seconds > 45)\ 

しかし、それは動作しませんでした。 Django ORMでこれを行う方法はありますか?

答えて

3

次のようにF式を使用できます。

from django.db.models import F 
from django.utils import timezone 


.filter(endtime__gt = models.F('starttime') + timezone.timedelta(0, 45)) 

endtimeがstarttime + 45秒より長い行だけを返します。

+0

恐ろしく、ありがとう! –