簡體   English   中英

如何使用list_filter在django admin中按同一字段的多個值進行過濾?

[英]How can in filter by more than one value of same field at django admin using list_filter?

我的字段“ car”使用==> list_filter [“ car”]包含值“ Benz,Nissan,Kia”,我該如何按“ Nissan”和“ Kia”這兩個值進行過濾。 兩者都不是

汽車對象

你可以使用MultipleChoiceListFilterDjango的管理,多選列表過濾包,因為沒有內置Django的沒有多選擇過濾器。 例:

models.py

class CarModel(models.Model):
    name = models.CharField(max_length=255)

class Car(models.Model):
    car_model = models.ForeignKey(CarModel, on_delete=models.CASCADE)

管理員

from django.contrib import admin
from django_admin_multiple_choice_list_filter.list_filters import MultipleChoiceListFilter
from .models import Car

class CarModelListFilter(MultipleChoiceListFilter):
    title = 'Car Model'
    parameter_name = 'car_model__in'

    def lookups(self, request, model_admin):
        return CarModel.objects.values_list('pk', 'name')

class CarAdmin(admin.ModelAdmin):
    list_display = ('car_model',)
    list_filter = (CarModelListFilter,)

admin.site.register(Car, CarAdmin)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM