Django Admin カスタムフィルタを作成
Django
2017-02-26 10:25 (9年前)

SimpleListFilter を使って簡単に書ける
from django.contrib import admin
class TicketStatusListFilter(admin.SimpleListFilter):
title = 'ステータス'
parameter_name = 'status_set'
def lookups(self, request, model_admin):
return (
('incomplete', '完了以外'),
('completed', '完了'),
)
def queryset(self, request, queryset):
if self.value() == 'incomplete':
return queryset.exclude(status='completed')
if self.value() == 'completed':
return queryset.filter(status='completed')
class TicketAdmin(admin.ModelAdmin):
list_filter = (TicketStatusListFilter,)
評価をお願いします (会員登録・ログイン不要)
現在の評価: 2.3 (3)
関連記事
Django を 5.1 にアップグレードしたら、管理サイトの Inline で、プライマリーキーが表示される場所に `{'name': 'id', 'label': 'ID', 'help_text': '', 'field': 'id', 'is_hidden': True}` のような文字列が表示される場合の対応
django-allauth で、ソーシャルアカウントプロバイダーを決め打ちしてログインビュー・リダイレクトビューを返す (AWS Cognitoを使う時など)
Django5にして依存ライブラリも更新したら、メール送信で SSL: CERTIFICATE_VERIFY_FAILED エラーが出るようになった
Django の ユニットテストの assertEqual の引数の first, second は実際は expected, actual
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。
開発相談をお待ちしています。