В документации по админу на официальном сайте Django ничего по этому поводу не сказано. Ну раз ничего в документации нет, значит полезем в код. Оказывается это предусмотреный функционал, только вот почему-то он не задокументирован. Таким образом переопределив метод queryset в классе админа можно скрыть объекты которые нельзя/ненужно показывать текущему пользователю.
В моем случае это выглядело так:
class MyAdmin(admin.ModelAdmin):
#....
def queryset(self, request):
super_qs = super(MyAdmin, self).queryset(request)
qs = super_qs.filter(group__in=request.user.groups.all())
return qs
0 comments:
Post a Comment