Django管理员:我可以为模型方法添加一个过滤器吗?

Django管理员:我可以为模型方法添加一个过滤器吗?,django,django-models,django-admin,Django,Django Models,Django Admin,我有一个model方法status(),它返回“OK”、“WARNING”或“ERROR”。通过将状态添加到列表\显示模型管理员选项,可以在Django admin中显示状态。我还想做的是在Django admin中激活一个状态过滤器。但是,如果我将状态添加到列表\u filter ModelAdmin选项中,我会得到一个错误。是否仍然需要为模型方法添加筛选器?您只能对数据库列进行筛选,因此您被卡住了。。作为一种解决方法,您可以在识别状态的源列上添加筛选,或者为状态添加一个新的db列。您可以按如

我有一个model方法status(),它返回“OK”、“WARNING”或“ERROR”。通过将状态添加到列表\显示模型管理员选项,可以在Django admin中显示状态。我还想做的是在Django admin中激活一个状态过滤器。但是,如果我将状态添加到列表\u filter ModelAdmin选项中,我会得到一个错误。是否仍然需要为模型方法添加筛选器?

您只能对数据库列进行筛选,因此您被卡住了。。作为一种解决方法,您可以在识别状态的源列上添加筛选,或者为状态添加一个新的db列。

您可以按如下所述将admin.SimpleListFilter子类化:


这个答案来自2010年。它仍然正确吗?难道没有一种不是基于模型字段而是基于模型方法的过滤方法吗?