让Django Admin在发布后记住我的参数

时间:2010-08-17 20:58:26

标签: django search parameters django-admin get

我有一些问题一直困扰着我。我想在django admin中使用日期来查看某些日期之间的条目。 为此,我为此模型定制了我的changelist.html并在其中放置了一个表单。发布时,我覆盖了像这样的查询集方法

def queryset(self, request):
    qs = super(ModelAdmin, self).queryset(request)

    if request.POST.has_key('date1'):
        return qs.filter(startdate__gte=request.POST['date1']).filter(startdate__lte=request.POST['date2'])               
    return qs

这很有效,但它只是一个小问题。如果我选择以任何方式对结果进行排序,则会忘记参数。

如果我在网址中直接将此类型替换为浏览器,那么它看起来像这样

HTTP //本地主机/管理/一些/模型/ startdate__gte = 2010-01-01&安培; startdate__lte = 2010-12-30

我可以按照我想要的方式进行排序,因为他们会像这样坚持下去 HTTP本地主机// /管理/一些/模型/ O = 5&安培;?OT = ASC&安培; startdate__lte = 2010-12-30&安培; startdate__gte = 2010-01-01

我是否需要使用filterspec来解决这个问题?

谢谢堆!

1 个答案:

答案 0 :(得分:0)

在Django项目中有一个要求此功能的变更请求。

它正在等待有人在提交修补程序之前为其编写测试,因此您可以这样做,也可以下载建议的修补程序(靠近页面底部)并使用它。

https://code.djangoproject.com/ticket/6903