Django 1.4 SimpleListFilter 'selected' 选项问题

3 投票
2 回答
1165 浏览
提问于 2025-04-17 04:50

我写了一个叫做SimpleListFilter的东西,这里是代码:http://dpaste.com/639578/

它在管理列表中显示得很好,但我遇到了一个问题,选中的选项在自定义过滤器中没有被高亮显示。只有“全部”这个选项会高亮,其他自定义选项却没有。这里有一张截图来说明这个问题:

http://imgur.com/IyrYk


如果有人对此感兴趣,这里有后续信息: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,
        }

撰写回答