2015-11-22 57 views
2

我想django只顯示過濾器中的項目時,相關的字段。Django只有相關字段列表過濾器 - 不RelationField

例如,如果我選擇品牌「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 

回答

1

應該store代替brand,因爲brand不是RelatedField

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

謝謝。這已經停止了這個錯誤,但我不認爲它的行爲應該如此。此過濾器是否應僅顯示從過濾器中選擇的商店中存在的過濾器中的品牌?還是我想在這裏做一些不同的事情? – Ycon