簡體   English   中英

如何在Django中創建具有兩種不同狀態的過濾器

[英]How to create a filter in Django with two different status

我想在Django admin中創建一個過濾器,它將返回具有兩種不同狀態的記錄,單個“過濾器”定義為以下之一:

def lookups(self, request, model_admin):
    return (
        ('1', 'class 1'),
        ('2', 'class 2'),
        ('3', 'class 3'),
        ('4', 'class 3')
    )

我正在使用一個API,它返回給我所有狀態,有兩個額外的狀態,我不需要。

def queryset(self, request, queryset):
    if self.value() == 'all':
        return queryset.filter()
    else:
        return queryset.filter(client__status=self.value())

在我的過濾器列表中,我想只有一個clients with status x邏輯項clients with status x ,它將為我提供狀態為M且狀態為N的所有客戶端。

def queryset(self, request, queryset):
    if self.value() == 'all':
        return queryset.all()
    elif self.value() == 'clients with status x':
        return queryset.filter(client__status__in=['M', 'N', ])
    else:
        return queryset.filter(client__status=self.value())

暫無
暫無

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

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