次のように、時間範囲を実装する Django モデルがあります。
class Period(models.Model):
start_time = models.DateTimeField(_(u'start time'))
end_time = models.DateTimeField(_(u'end time'))
シンプルな ModelAdmin もあります。これらの期間を「未来」、「進行中」、「過去」に分類するフィルターを管理リスト ビューに提供したいと考えています。start_time と end_time の日付フィルターを個別に有効にし、change_list.html テンプレートをハックして、進行中の期間について次のように適切なクエリ文字列を提供できます。
<li><a href="?start_time_lte=[now]&end_time_gt=[now]">In Progress</a>
私の質問は、クエリセットの実行時にサーバー側で評価される [今] のために何かを提供する方法はありますか? Callables を QuerySet フィルターに渡すことができることは知っていますが、その機能は FilterSpecs では利用できないようです。管理者がフィルタリングされたリンクをブックマークして混乱することを知っているので、日時文字列をクエリ文字列に詰め込む必要はありません。