外键字段的django管理页面中的list_filter

时间:2012-02-11 11:05:21

标签: python django django-models django-admin

在django管理页面的list_filter中使用外来字段

假设我有模特

   class Company():
         name varchar(50)
         field1 varchar(50)

   class Client()
          name varchar(50)
          company ForeignKey(Company)

现在我如何在django管理页面

中为field1实现客户端模型的过滤器

我尝试了 list_filter = [' company_ field1','公司 _name'] ,但没有成功。任何解决方案?

我正在使用django 1.2版本。

提前致谢

2 个答案:

答案 0 :(得分:5)

这不能在Django 1.2中完成。

从1.3开始,您可以使用标准的`relatedModel__field'语法(参见the docs)。请注意,您必须使用双下划线才能工作。

在当前的dev version中,你可以使用SimpleListFilter的子类来实现更复杂的事情,它可以让你做任何你喜欢的事情;)

答案 1 :(得分:4)

使用Django 1.2,我已经习惯了这种事情。

在数据库中,使用外键关系定义两个表的连接上的视图。然后让Django使用视图而不是真实表。在视图上放置触发器以将数据库写入重定向到正确的表。