我有一些问题一直困扰着我。我想在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来解决这个问题?
谢谢堆!
答案 0 :(得分:0)
在Django项目中有一个要求此功能的变更请求。
它正在等待有人在提交修补程序之前为其编写测试,因此您可以这样做,也可以下载建议的修补程序(靠近页面底部)并使用它。