2017-08-31 11 views
1

に追加します。私のDjangoアプリケーションでは、私のモデルの1つでは、 'create_date'フィールドでフィルタリングするオプションを許可しています。デフォルトでDjangoは私にいくつかのオプションを与えます(今日、過去7日、今月、今年)。 「Yesterday」を選択するオプションを追加するだけです。私は同じ問題に関して他のStack Overflowの質問を見ましたが、彼らはすべて日付範囲で検索する機能を探していました。これらのフィルタ機能の一部をオーバーライドするようにこのモデルを設定する管理クラスの方法ですか?'yesterday'フィールドをDjangoの管理日リストフィルタ

管理クラス

class User_LikeAdmin(admin.ModelAdmin): 
    def fb_view_link(self, obj): 
     if len(obj.user_facebook_link) > 2: 
      return u"<a href='%s' target='_blank'>Facebook Page</a>" % obj.user_facebook_link 
     else: 
      return "" 

    fb_view_link.short_description = '' 
    fb_view_link.allow_tags = True 


    list_display = ('vehicle', 'user', 'fb_view_link', 'dealer', 'create_date') 
    list_filter = ('create_date', ('vehicle__dealer', custom_titled_filter('Dealer'))) 
    raw_id_fields = ('vehicle', 'user') 

    actions = [export_csv] 

    def dealer(self, obj): 
     return obj.vehicle.dealer 

答えて

3

documentation

class User_LikeAdmin(admin.ModelAdmin): 
    list_filter = (('create_date', CustomDateFieldListFilter),) 

に述べたように、あなたはあなたが私が感謝、探していただけで何、DateFieldListFilter

from django.contrib.admin.filters import DateFieldListFilter 

class CustomDateFieldListFilter(DateFieldListFilter): 
    # Your tweaks here 
+0

恐ろしいを拡張することができ、カスタムフィルタクラスを使用することができます! – JBT

1

日時を使用して、昨日の変数を作成し、すべてのレコードをこのように取得します。オプションとして

import datetime 
yesterday = datetime.date.today() - datetime.timedelta(days=1) 

data = Modelname.objects.filter(create_date=yesterday)