Django管理员列表过滤器

时间:2010-03-04 13:35:23

标签: django django-models django-admin

我想在管理过滤器中添加自定义模型方法,但它失败了。

示例Foo:

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

现在在管理面板上:

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

失败,我收到错误

/ admin / test / foo /中的不正确配置 'FooAdmin.list_filter [0]'指的是模型'Foo'中缺少的字段'big_enough'。

2 个答案:

答案 0 :(得分:8)

SO thread。它并不像它应该的那样容易。

答案 1 :(得分:2)

您不能为此目的使用模型方法。 list_filter用于过滤django查询集,该查询集无法有效利用裸函数。