Django縺ァadmin縺ォ繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ霑ス蜉

譛霑善ython縺ョ蜍牙シキ繧貞ァ九a縺ヲDjango繧貞シ縺」縺ヲ縺繧九ョ縺ァ縺吶′
縺ェ縺九↑縺区律譛ャ隱槭ョ險倅コ九b蟆代↑縺丞峅繧九%縺ィ繧ょ、壹>縺ョ縺ァ
莉雁セ後ョPython縺ョ逋コ螻輔ョ縺溘a縺ォ繧ゅさ繝繧ウ繝險倅コ九r菴懊▲縺ヲ縺縺薙≧縺ィ諤昴>縺セ縺吶

Python縺ョ繝√Η繝シ繝医Μ繧「繝ォ繧剃ク騾壹j邨ゅ∴縺ヲ縲∝ー代@繧ォ繧ケ繧ソ繝槭う繧コ縺励◆縺上↑縺」縺滓婿
admin縺ョfilter繧偵き繧ケ繧ソ繝槭う繧コ縺励◆縺譁ケ蜷代¢縺ォ縺ェ繧翫∪縺吶

Django 繝√Η繝シ繝医Μ繧「繝ォ

縺薙■繧峨b蜿り縺ォ縲

蜈ャ蠑上し繧、繝医ョ繝ェ繝輔ぃ繝ャ繝ウ繧ケ

縺ァ縺ッ蟋九a縺ヲ陦後″縺セ縺励g縺縲
繝舌シ繧ク繝ァ繝ウ
Python:3.9.4
Django:3.2

Django縺ョadmin逕サ髱「

繝√Η繝シ繝医Μ繧「繝ォ繧貞ョ御コ縺吶k縺ィ縲√%縺ョ繧医≧縺ェ逕サ髱「縺瑚。ィ遉コ縺輔l繧九h縺縺ォ縺ェ縺」縺ヲ縺繧九→諤昴>縺セ縺吶
蟆代@縺縺代き繧ケ繧ソ繝槭う繧コ縺励※縺翫j縺セ縺吶′縲∵悽邱ィ縺ィ縺ッ髢「菫ゅ↑縺驛ィ蛻縺ァ縺吶ョ縺ァ蜑イ諢帙@縺セ縺吶
縺薙ョ繝輔ぅ繝ォ繧ソ繝シ驛ィ蛻縺ァ縺吶′縲∵、懃エ「譚。莉カ繧貞「励d縺励※縺ソ縺溘>縺ァ縺吶ュ縲
縺ァ縺阪l縺ー迢ャ閾ェ縺ョ讀懃エ「譚。莉カ縺ォ縺励◆縺縲
Django縺ョadmin逕サ髱「

filter繧ォ繧ケ繧ソ繝槭う繧コ

菫ョ豁」蜑阪ョ繧ス繝シ繧ケ

from django.contrib import admin

from .models import Choice, Question
from django.utils.translation import gettext_lazy as _


class ChoiceInline(admin.TabularInline):
    model = Choice
    extra = 30

class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]

    inlines = [ChoiceInline]
    list_display = ('question_text', 'pub_date', 'was_published_recently','decorate_text')
    list_filter = ['pub_date']
    search_fields = ['question_text']

admin.site.register(Question, QuestionAdmin)
list_filter驛ィ蛻縺ォ縲継ub_date縲阪′謖螳壹&繧後※縺繧九◆繧√∫樟蝨ィ縺ッpub_date縺ォ蟇セ縺吶k讀懃エ「譚。莉カ縺ョ縺ソ險ュ螳壹&繧後※縺縺セ縺吶

菫ョ豁」蠕後ョ繧ス繝シ繧ケ

from django.contrib import admin

from .models import Choice, Question
from django.utils.translation import gettext_lazy as _

"""シ抵シ弱き繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ縺ョ螳」險"""
class QuestionTextFilter(admin.SimpleListFilter):
    title = _('繝繧ケ繝育畑縺ョ繝輔ぅ繝ォ繧ソ繝シ')
    parameter_name = 'question_text'

    def lookups(self, request, model_admin):
        return (
            ('test', _('in test')),
            ('not test', _('in not test')),
        )

    def queryset(self, request, queryset):
        """
        Returns the filtered queryset based on the value
        provided in the query string and retrievable via
        `self.value()`.
        """

        if self.value() == 'test':
            return queryset.filter(question_text__icontains = 'test')
        if self.value() == 'not test':
            return queryset.exclude(question_text__icontains = 'test')


class ChoiceInline(admin.TabularInline):
    model = Choice
    extra = 30


class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]

    inlines = [ChoiceInline]
    list_display = ('question_text', 'pub_date', 'was_published_recently','decorate_text')
縲縲"""シ托シ四ist_filter 縺ォ繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ繧定ソス蜉"""
    list_filter = [QuestionTextFilter,'pub_date']
    search_fields = ['question_text']

admin.site.register(Question, QuestionAdmin)

菫ョ豁」轤ケ

シ托シ四ist_filter 縺ォ繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ繧定ソス蜉

繝輔ぅ繝ォ繧ソ繝シ繧定ソス蜉縺吶k縺溘a縺ォ縺ッ縲√畦ist_filter縲阪↓螳」險繧定ソス蜉縺励∪縺吶
菫ョ豁」蜑阪ョ繧ス繝シ繧ケ縺ァ縲継ub_date縲阪ョ縺ソ縺悟・縺」縺ヲ縺縺滄Κ蛻縺ァ縺吶ュ縲
縺薙%縺ォ霑ス蜉縺吶k繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ縺ョclass繧呈欠螳壹@縺セ縺吶

シ抵シ弱き繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ縺ョ螳」險

螳」險縺励◆繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ繝シ縺ョ荳ュ霄ォ縺ァ縺吶
荳玖ィ2縺、縺ョ螳夂セゥ縺悟ソ隕√↓縺ェ繧翫∪縺吶ゅし繝ウ繝励Ν繧ス繝シ繧ケ縺ョlookups縺ォ險倩シ峨@縺ヲ縺繧九荊est縲阪系ot test縲阪ョ譁蟄怜励ッ
queryset縺ョ譚。莉カ蛻蟯舌↓蛻ゥ逕ィ縺励※縺縺セ縺吶
lookupsシ壽、懃エ「繝ゥ繝吶Ν縺ョ險ュ螳
querysetシ壽、懃エ「譚。莉カ

菫ョ豁」蠕後ョ逕サ髱「縺ッ縺薙ョ繧医≧縺ォ縺ェ繧翫∪縺吶

繝上槭▲縺溘お繝ゥ繝シ髮

The value of 'list_filter[0]' refers to 'QuestionTextFilter', which does not refer to a Field.

繧ー繧ー縺」縺ヲ繧ゅ↑縺九↑縺玖ァ」豎コ遲悶′繧上°繧翫∪縺帙s縺ァ縺励◆縺後∝腰邏斐↑縺薙→縺ァ縺励◆縲
荳玖ィ倥ョ繧医≧縺ェ譖ク縺肴婿繧偵☆繧九→繧ィ繝ゥ繝シ縺ォ縺ェ繧翫∪縺吶
   list_filter = ['QuestionTextFilter','pub_date']

蜴溷屏縺ッ

繝輔ぅ繝ォ繧ソ縺ョ螳」險縺ァ繧キ繝ウ繧ー繝ォ繧ッ繧ェ繝シ繝医〒蝗イ縺」縺ヲ縺励∪縺」縺ヲ縺繧九%縺ィ

繧キ繝ウ繧ー繝ォ繧ッ繧ェ繝シ繝医〒蝗イ縺」縺ヲ縺励∪縺」縺ヲ縺繧九◆繧√↓縲√ヵ繧」繝シ繝ォ繝牙錐縺ィ蛻、譁ュ縺輔l縺セ縺吶′
縲弱◎繧薙↑繝輔ぅ繝シ繝ォ繝峨↑縺繧医上→諤偵i繧後∪縺吶
繧ォ繧ケ繧ソ繝繝輔ぅ繝ォ繧ソ縺ッclass縺ョ螳」險縺ェ縺ョ縺ァ繧キ繝ウ繧ー繝ォ繧ッ繧ェ繝シ繝医↑縺励〒險倩シ峨@縺セ縺励g縺縲

too many values to unpack (expected 2)

縺ゥ縺薙°縺ョ繧オ繧、繝医°繧峨さ繝斐壹@縺ヲ菴懊▲縺溘i繧ィ繝ゥ繝シ縺ォ縺ェ縺」縺滄Κ蛻
lookups縺ョ險倩ソー譁ケ豕輔′髢馴&縺」縺ヲ縺縺セ縺励◆縲
    def lookups(self, request, model_admin):
        return (
            'test',
            'not test'
        )

縺薙■繧峨′豁」縺励>繧ス繝シ繧ケ縺ァ縺吶

    def lookups(self, request, model_admin):
        return (
            ('test', _('in test')),
            ('not test', _('in not test')),
        )
return縺ョ譖ク縺肴婿縺碁&縺縺セ縺吶ュ縲ょシ墓焚縺ョ謨ー縺碁&縺」縺ヲ縺繧九◆繧√↓繧ィ繝ゥ繝シ縺ィ縺ェ縺」縺溘h縺縺ァ縺吶

Python縺ッ繝ォ繝シ繝ォ繧定ヲ壹∴繧九∪縺ァ縺ォ闍ヲ蜉エ縺ッ縺励∪縺吶′縲∵嶌縺縺ヲ縺縺ヲ諤昴≧縺ョ縺ッ
繧縺ッ繧願ィ倩ソー驥上ョ蟆代↑縺輔√せ繝槭シ繝医&縺ァ縺吶ュ縲
菴ソ縺譁ケ繧定ヲ壹∴繧後ー縲髢狗匱騾溷コヲ縺悟髄荳翫@縺昴≧縺ァ縺吶

繧ウ繝。繝ウ繝医r谿九☆