Как получить объект в методе create?
Нужна помощь по получению значения в моем методе представления.
Здравствуйте! Я пытаюсь получить значение requesterid. Я хочу создать условие, которое, если requesterid равен определенному значению, разрешит метод create. Я не знаю, как мне получить доступ к переменной. Кто-нибудь может мне помочь?
В моем коде пока что есть это, но в нем говорится, что
"Error": "'Request' object has no attribute 'requesterid'"
Вот мой views.py
class RequestListCreateView(ListCreateAPIView):
queryset = requestTable.objects.all()
serializer_class = RequestCreateSerializer
def create(self, request, *args, **kwargs):
if request.requesterid.userroleid == 3:
write_serializer = RequestCreateSerializer(data=request.data)
write_serializer.is_valid(raise_exception=True)
instance = self.perform_create(write_serializer)
headers = self.get_success_headers(write_serializer.data)
return Response({"Request ID": write_serializer.instance.requestid, "Parts ID": [p.partsid for p in write_serializer.instance.parts.all()]},headers=headers)
raise ValidationError("Sorry! Your role has no permission to create a request.")
Вот мой models.py
class userTable(models.Model):
userid = models.UUIDField(primary_key=True, default = uuid.uuid4, editable=False)
username = models.CharField(max_length=50, null=False, unique=True)
userroleid = models.ForeignKey(roleTable, on_delete=models.CASCADE)
class roleTable(models.Model):
roleid = models.IntegerField(null=False, primary_key=True)
role = models.CharField(max_length=255, null=False)
class requestTable(models.Model):
rid = models.AutoField(primary_key=True)
requesterid = models.ForeignKey(userTable, on_delete=models.CASCADE)
(...)