В проекте используется две админки (админка юзеров+админка для юзеров(
АЮ))
В АЮ используется
модель типа:
class Document(model.Models):
title = models.CharField(_('title'), max_length=500)
file = models.FileField(_('file'), upload_to='documents')
order = models.IntegerField(_('order'), default=0)
dtype = models.ForeignKey(to=DocType, blank=True, null=True)
class DocType(model.Models):
title = models.CharField(_('title'), max_length=500)
order= models.SmallIntegerField(verbose_name=u"Вес")
Для изоляции отображения в АЮ в поле выбора DocType в admin.py есть метод:
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
field = super(DocumentAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
if db_field.name == 'title' or db_field.name == 'order' or db_field.name == 'dtype':
if request.АЮ_site is not None:
field.queryset = field.queryset.filter(АЮ_site=request.АЮ_site)
else:
field.queryset = field.queryset.none()
return field
Но если в admin.py добавить для класса
DocumentAdmin filter_list=['dtype'], то в списке отображаются все Doctype (не только созданные этим пользователям).
Как быть?
Предопределять свой фильтр для каждого случая, пример
ТУТ?
п.с. dj-1.6