-
Изменяемый list_display я сделал с ходу так.
Гики, кто-нибудь сталкивался? Есть более простой способ? :)list_display = ('first_field', 'second_field',)
...
def get_changelist(self, request, **kwargs):
from django.contrib.admin.views.main import ChangeList
changelist = ChangeList
# Суровая магия питона
def decorate(f):
def func(*args, **kwargs):
args1 = list(args)
args1[3] = [i for i in args[3] if not (i=='second_field' and not get_request().GET.get('second_field',None)==None)]
return f(*args1, **kwargs)
func.decorated=True
try:
f.decorated
return f
except AttributeError:
return func
changelist.__init__ = decorate(changelist.__init__)
return changelist -
Сделать наследника от ChangeList?
-
Наследника не очень удобно и не красиво при текущей реализации класса.
Если кто-нибудь будет использовать поправка:
return copy(changelist)
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
