2014-10-20 28 views
0

我正在使用django-filters通過外鍵在下拉菜單中進行篩選

我的車型擁有製造商的外鍵。我想要做的是通過數據庫中所有制造商填充的下拉列表過濾汽車。

class Car(models.Model): 
    slug = models.SlugField(unique=True) 
    name = models.CharField(max_length=256) 
    cost = models.DecimalField(max_digits=10,decimal_places=5) 
    manufacturer = models.ForeignKey(Manufacturer) 

我的過濾器目前是一個空白文本框,可以輸入製造商名稱,然後提交到這種方式進行篩選。下拉式會更適合,但我一直無法找到辦法做到這一點。這裏是過濾器模式,因爲它現在是:

class CarFilter(django_filters.FilterSet): 
    manufacturer = django_filters.CharFilter(name="manufacturer__name") 
    class Meta: 
     model = Car 
     fields = ['name', 'manufacturer'] 

回答

1

只是不要在所有定義過濾器製造領域和Django的過濾器將使用默認過濾器該字段(這是一個下拉)。所以像這樣的東西應該工作:

 
class CarFilter(django_filters.FilterSet): 
    class Meta: 
     model = Car 
     fields = ['name', 'manufacturer'] 
+0

謝謝,這是正確的。 – Dawson 2014-10-20 09:24:57

相關問題