Django 相关字段列表过滤器 - 不是 RelationField

Yco*_*con 5 python django django-admin

我希望 django 在过滤项目时仅显示过滤器中的相关字段。

例如,如果我选择品牌“XYZ”,它只会在包含“XYZ”品牌的过滤器中显示选项。

我下面的代码取自这里的另一个问题 - 但它不起作用。我不断收到“NotRelationField”错误(http://dpaste.com/23Y8ZE3)。

管理员.py---

from django.contrib.admin.filters import RelatedOnlyFieldListFilter

# Some SimpleListFilter filters

class ProductAdmin(admin.ModelAdmin):
    actions = ['tag_Active_Wear', 'tag_Trending',]
    list_filter = (
        ('brand', RelatedOnlyFieldListFilter),
    )
    admin_order_field = ('price',)

# Some querysets for the actions

admin.site.register(Product, ProductAdmin)
Run Code Online (Sandbox Code Playgroud)

模型.py----

class Product(models.Model):
    name = models.CharField ("Name", max_length=400)
    store = models.ForeignKey(Store)
    brand = models.CharField("Brand", max_length=200, blank=True)
    category = models.ManyToManyField(Category, blank=True)
    def __unicode__(self):
       return self.name
Run Code Online (Sandbox Code Playgroud)

don*_*yor 5

它应该是store而不是brand,因为brand它不是一个相关字段

list_filter = (
    ('store', RelatedOnlyFieldListFilter),
)
Run Code Online (Sandbox Code Playgroud)