2

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

悲しいことに、これは文字通り何もせず、ユーザーが持っている権限に関係なく、すべてのアイテムが表示されます。

4

1 に答える 1