【问题标题】:Django Related only Field list filter- Not RelationFieldDjango 仅相关字段列表过滤器 - 不是 RelationField
【发布时间】:2015-11-22 09:12:07
【问题描述】:

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

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

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

Admin.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)

Models.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

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    应该是store 而不是brand,因为brand 不是RelatedField

    list_filter = (
        ('store', RelatedOnlyFieldListFilter),
    )
    

    【讨论】:

    • 谢谢。这已经停止了错误,但我不认为它的行为应该如此。此过滤器是否应仅显示从过滤器中选择的商店中存在的过滤器中的品牌?还是我想在这里做一些不同的事情?
    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 2020-01-30
    • 2016-12-13
    • 1970-01-01
    • 2013-10-30
    相关资源
    最近更新 更多