Python 在管理中为内联线筛选时间戳
我正在尝试管理管理控制台 我有两个模型,一个场馆和一个活动:活动可以在场馆发生,活动有时间戳 在我的管理控制台中,我使用内联线添加了要在场馆管理中列出的事件 但是,我想设置一种情况,默认情况下,只列出从timestamp.now()到将来的事件,而不显示teimstamp.now()之前的所有事件 目前我仅限于Python 在管理中为内联线筛选时间戳,python,django,inlines,Python,Django,Inlines,我正在尝试管理管理控制台 我有两个模型,一个场馆和一个活动:活动可以在场馆发生,活动有时间戳 在我的管理控制台中,我使用内联线添加了要在场馆管理中列出的事件 但是,我想设置一种情况,默认情况下,只列出从timestamp.now()到将来的事件,而不显示teimstamp.now()之前的所有事件 目前我仅限于Django 1.3,但我相信Django 1.4在SimpleListFilter中有一种解决方案 我在某个地方读到可以使用DateFieldFilterSpec,但文档和示例非常缺乏。
Django 1.3
,但我相信Django 1.4
在SimpleListFilter
中有一种解决方案
我在某个地方读到可以使用DateFieldFilterSpec
,但文档和示例非常缺乏。(如果你有一些参考资料,你能给我指出吗?)
在下面的python
代码中,DateFieldFilterSpec
的导入与下面显示的代码之间没有连接,但我不知道它们在何处或如何连接
admin.py
当我使用上面的代码时,我只获取所有事件,似乎没有任何过滤 为此修改查询集如何(用保存事件日期的字段名称替换
eventdate
):
谢谢你,先生,这正是我所要找的,一切如愿!这是个好消息,因为我没有机会亲自测试。
from django.contrib.admin.filterspecs import DateFieldFilterSpec
class eventInline(admin.TabularInline):
list_filter = ('now')
model = event
extra = 1
class VenueAdmin(admin.ModelAdmin):
inlines = [eventInline,]
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,]