2010-03-04 110 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查詢集,它不能有效地利用裸函數。