Django:list_filter 和外键字段

标签 django list filter foreign-keys

Django 不支持从 list_display 或 list_filter 获取外键值(例如 foo__bar)。我知道您可以创建一个模块方法作为 list_display 的解决方法,但是我将如何为 list_filter 做同样的事情呢?谢谢。

最佳答案

好吧,文档说您可以使用 ForeignKey list_filter 中的字段类型:

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter

一个例子:

# models.py:
class Foo(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Bar(models.Model):
    name = models.CharField(max_length=255)
    foo = models.ForeignKey(Foo)

# admin.py:
class BarAdmin(admin.ModelAdmin):
    list_filter = ('foo')

如果您想通过相关模型中的字段进行过滤,则有一个补丁可以使这项工作(看起来可能会合并到 1.2 中):

http://code.djangoproject.com/ticket/3400

关于Django:list_filter 和外键字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065036/

相关文章:

python - 如何在 Django 模型中使用 request.GET

java - 列表与 map /字典

tomcat - 我如何使用 grok 过滤器在 tomcat 日志中获取匹配的消息?

python - 如何禁用 Django 表单中的输入历史记录?

python - 如何在 Django 中使用配置文件注册不同类型的用户?

java - 可扩展 ListView ,带循环

php - PHP 中使用关键字过滤数组?

javascript - 尝试将 jQuery filter() 与数组一起使用

sql - 如何在 Django ORM 查询中包含来自外键对象的数据?

c# - 我怎样才能快速计算字符串出现在字符串列表的给定部分中的频率?