Django 1.4 SimpleListFilter 'selected' 选项问题
我写了一个叫做SimpleListFilter的东西,这里是代码:http://dpaste.com/639578/
它在管理列表中显示得很好,但我遇到了一个问题,选中的选项在自定义过滤器中没有被高亮显示。只有“全部”这个选项会高亮,其他自定义选项却没有。这里有一张截图来说明这个问题:
如果有人对此感兴趣,这里有后续信息:https://code.djangoproject.com/ticket/17091
2 个回答
0
题外话:关于下拉菜单,我也很感兴趣。简单搜索了一下,发现没有内置的功能可以做到这一点,不过有几个简单的解决办法:自己动手做,或者使用像Grappelli或FeinCMS这样的产品。
2
因此,我实现了一个叫做'choices'的函数:
def choices(self, cl):
lookup_choices = [('',_('All'))] + self.lookup_choices
for lookup, title in lookup_choices:
yield {
'selected': self.value() == str(lookup),
'query_string': cl.get_query_string({self.parameter_name: lookup,}, []),
'display': title,
}