2012-03-04 7 views
0

관리 콘솔을 관리하려고합니다.인라인에 대한 관리자의 타임 스탬프 필터링

장소 및 이벤트 : 경기장에서 이벤트가 발생할 수 있으며 이벤트에 타임 스탬프가 있습니다.

내 관리 콘솔에 인스 트림을 사용하여 경기장 관리에 나열 할 이벤트를 추가했습니다.

그러나 나는 미래에 기본 timestamp.now에서 이벤트 만()에 의해 가 나열되어 사건을 설정할 및 teimstamp.now 전에 모든 이벤트는() 표시되지 않습니다.

현재로서는 Django 1.3으로 제한되어 있지만 Django 1.4에는 SimpleListFilter에 해결책 유형이 있습니다.

나는 DateFieldFilterSpec을 사용할 수 있지만 설명서와 예제는 매우 부족합니다. (당신이 그들을 가지고 있다면 몇 가지 참조를 가르쳐 줄 수 있습니까?)

코드 아래의 코드에 DateFieldFilterSpec 가져 오기 사이에 아무런 연결이 없지만 어떻게 연결되어 있는지 잘 모릅니다.

from django.contrib.admin.filterspecs import DateFieldFilterSpec 

class eventInline(admin.TabularInline): 

    list_filter = ('now') 

    model = event 
    extra = 1 

class VenueAdmin(admin.ModelAdmin): 
    inlines = [eventInline,] 

난 그냥 모든 이벤트를 얻을 수 위의 코드를 사용 admin.py, 어떤 필터링이 될 것 같지 않습니다.

답변

0
(이벤트의 날짜를 보유하고있는 필드의 이름으로 eventdate 교체) 그 목적의 검색어를 수정에 대해 어떻게

:

from datetime import datetime 
from django.contrib import admin 

class eventInline(admin.TabularInline): 
    def queryset(self, request): 
     qs = super(eventInline, self).queryset(request) 
     return qs.filter(eventdate__gte=datetime.now) 
    model = event 
    extra = 1 

class VenueAdmin(admin.ModelAdmin): 
    inlines = [eventInline,] 
+0

당신에게 선생님 감사를, 즉 내가 찾던 정확히 무엇이며, 작품 바라는대로! –

+0

좋은 소식입니다. 직접 테스트 할 기회가 없었기 때문입니다. – Frg