get_queryset
ユーザーがdjango Guardianから持っているオブジェクトのアクセス許可に基づいてオーバーライドしようとしているため、ユーザーがアクセス許可を持っているオブジェクトのみが表示されます。
def get_queryset(self, request):
if request.user.is_superuser:
qs = super(MyAdminInline, self).get_queryset(request)
return qs
for item in MyModel.objects.all():
for perm in get_perms(request.user, item):
things_user_can_see = get_objects_for_user(request.user, perm)
return things_user_can_see
悲しいことに、これは文字通り何もせず、ユーザーが持っている権限に関係なく、すべてのアイテムが表示されます。