Ich habe ein viewset
im Ruhe-Framework, das sich nicht so verhält, wie ich es erwarten würde. Wenn ich mich mit einem Nicht-Mitarbeiter-Benutzer anmelde und zur api-URL/Benutzern navigiere, kann ich alle dort aufgeführten Benutzer sehen.Django rest_framework IsAdminUser verhält sich nicht
Die IsAuthenticated
Berechtigung funktioniert, denn wenn ich abmelde ich bekomme eine Fehlermeldung, dass ich nicht authentifiziert bin.
Verwende ich diese Berechtigungen falsch? Ich habe das Tutorial gemacht und sah die Dokumentation durch, aber ich kann nichts finden, mir zu sagen, warum dies nicht
Ansichten funktionieren sollte:
class UserViewSet(viewsets.ModelViewSet):
"""Viewset for viewing users. Only to be used by admins"""
queryset = LangaLangUserProfile.objects.all()
serializer_class = UserSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = '__all__'
permissions_classes = (permissions.IsAdminUser,)
class LanguageViewSet(viewsets.ReadOnlyModelViewSet):
"""Viewset for Language objects, use the proper HTTP methods to modify them"""
queryset = Language.objects.all()
serializer_class = LanguageSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = '__all__'
permissions_classes = (permissions.IsAuthenticated,)
Urls:
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'language', views.LanguageViewSet)
Serializer :
class UserSerializer(serializers.ModelSerializer):
"""Serializer for User objects"""
class Meta:
model = LangaLangUserProfile
fields = '__all__'
class LanguageSerializer(serializers.ModelSerializer):
"""Serializer for the Language model"""
class Meta:
model = Language
fields = '__all__'
depth = 2