首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django: list_filter和外键字段

Django: list_filter和外键字段
EN

Stack Overflow用户
提问于 2010-01-14 23:10:25
回答 7查看 24.7K关注 0票数 24

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

EN

回答 7

Stack Overflow用户

发布于 2013-12-29 05:49:56

Django支持具有外键字段的list_filter

代码语言:javascript
复制
# 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__name')

来自文档: list_filter中的字段名称还可以使用__查找跨越关系

票数 37
EN

Stack Overflow用户

发布于 2010-01-14 23:22:09

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

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

举个例子:

代码语言:javascript
复制
# 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

票数 14
EN

Stack Overflow用户

发布于 2011-03-14 04:10:34

这个页面的解决方案对我很有效,http://www.hoboes.com/Mimsy/hacks/fixing-django-124s-suspiciousoperation-filtering/

定义

代码语言:javascript
复制
class SmarterModelAdmin(admin.ModelAdmin):
    valid_lookups = ()
    def lookup_allowed(self, lookup, *args, **kwargs):
        if lookup.startswith(self.valid_lookups):
            return True
         return super(SmarterModelAdmin, self).lookup_allowed(lookup, *args, **kwargs)

然后允许查找某些外键字段

代码语言:javascript
复制
class PageAdmin(SmarterModelAdmin):
   valid_lookups = ('parent')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2065036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档