2

django 1.5 でリスト フィルターを作成したいのですが、これは自分のフィールドに関連しているため、ドキュメントのように SimpleListFilter を使用できません。

ユーザー権限の理由でこれを行う必要があります

私はこれを持っています

class Stores_Contactos_Stores_ListFilter(RelatedFieldListFilter):
    title = _('Por Tiendas')
    parameter_name = 'store'

    def lookups(self, request, model_admin):
        return (
            ('80s', _('in the eighties')),
            ('90s', _('in the nineties')),
        )

class Store_Contacts_Admin(admin.ModelAdmin):
    list_filter = ('date_create', ('store', Stores_Contactos_Stores_ListFilter))

フィルターに変更をキャストしなかったかのように、ルックアップは変更されません。

4

1 に答える 1

3

lookups メソッドは、管理パッケージの RelatedFieldListFilter クラスでは使用されず、initメソッド セット

self.lookup_choices = field.get_choices(include_blank=False)

クラスのinitメソッドをオーバーライドします

def __init__(self, field, request, params, model, model_admin, field_path):
    super(Stores_Contactos_Stores_ListFilter, self).__init__(
        field, request, params, model, model_admin, field_path)
    if request.user.is_superuser:
        self.lookup_choices = Stores.objects.values_list('store', 'store__name',)
    ....
于 2013-05-17T14:51:22.587 に答える