2010-03-04 92 views
7

我想将自定义模型方法添加到管理过滤器,但它失败。Django管理列表过滤器

例美孚:

class Foo(models.Model): 
    number = models.IntegerField() 
    def big_enough(self): 
     return self.number > 99 

现在在管理面板:

class FooAdmin(admin.ModelAdmin): 
    list_filter = ('number', 'big_enough') 

失败,我得到的错误

ImproperlyConfigured在/管理/测试/富/ “FooAdmin。 list_filter [0]'是指模型'Foo'缺少的字段'big_enough'。

回答

8

看到这个SO thread。这并不像它应该的那样容易。

2

您不能为此使用模型方法。 list_filter用于过滤一个django查询集,它不能有效地利用裸函数。