habe ein Problem mit den permissions im DRF:
habe eine Model:
Code: Alles auswählen
from django.db import models
class lic_test(models.Model):
id = models.AutoField(primary_key='true')
lfn = models.IntegerField(default=0,blank=True)
lic = models.CharField(max_length=128,blank=True)
Code: Alles auswählen
from rest_framework import serializers
from .models import lic_test
class licSerializer(serializers.ModelSerializer):
class Meta:
model = lic_test
fields = '__all__'
Code: Alles auswählen
from django.shortcuts import render
from django.http.response import JsonResponse
from rest_framework.parsers import JSONParser
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from rest_framework.permissions import IsAuthenticated, DjangoModelPermissions
from .models import lic_test
from .serializers import licSerializer
class liclist(APIView):
permission_classes = [IsAuthenticated]
def get(self,request):
if 'lfn' in request.data:
nr = request.data['lfn']
lic1 = lic_test.objects.filter(lfn__in=nr)
else:
lic1 = lic_test.objects.all()
serializer = licSerializer(lic1, many= True)
return Response(serializer.data)
def post(self, request):
lic_data = JSONParser().parse(request)
lic_serializer = licSerializer(data=lic_data)
if lic_serializer.is_valid():
lic_serializer.save()
return JsonResponse(lic_serializer.data, status=status.HTTP_201_CREATED)
return JsonResponse(lic_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Mit
Code: Alles auswählen
data = {'lfn':[29]}
data = {'lfn':[]}
data = {}
response = requests.get("http://*****", json=data, auth=HTTPBasicAuth('user', 'pass'))
response = requests.post("http://*****", json=data, auth=HTTPBasicAuth('user', 'pass'))
bzw. neue Datensätze werden angelegt.
Soweit alles ok.
Mit der Einstellung:
Code: Alles auswählen
permission_classes = [DjangoModelPermissions]
Hierzu muss ich aber in der view die
Code: Alles auswählen
.queryset
Code: Alles auswählen
get_queryset()
Ab hier beißt es aber aus