2011-07-27 5 views
1

私は、時間範囲を実装してDjangoのモデルを持っている。このように: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> 

私の質問は、提供するために、どのような方法がありますQuerySetの実行時に評価される[今]の何か?私はあなたがQuerySetフィルタにコール可能なものを渡すことができますが、そのような機能はFilterSpecsで利用できないようです。私は私の管理者がフィルタリングされたリンクをブックマークして混乱するだろうと知っているので、クエリ文字列にdatetime文字列を入れる必要はありません。

答えて

1

新しいlist_filter featureを使用すると、ハッキングなどが少なくなるためです。

あなたがDjango 1.2に固執している場合、私はあなたを助けません。

+0

ラット、私は確かに1.2に固執しています。それはまさに私が必要とするものなので、知ることは良いことです。ありがとう! – GregM

+0

本当に立ち往生している場合は、list_filter機能のパッチを見つけて1.2のコピーに適用してみてください。うまくいけば、このパッチは別のもの、より大きなものの一部ではなく、他の機能を破ることはないでしょう。 – fahhem

関連する問題