models.py
class One(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
one = models.CharField(max_length=20)
ses = models.IntegerField()
occupied = models.BooleanField(default=False)
У меня есть occupied
логическое поле, которое по умолчанию равно False
. Я хочу, чтобы соответствующие представления отключались или читались только после того, как занято True
serializers.py
class OneSerializer(serializers.ModelSerializer):
class Meta:
model = One
field = '__all__'
read_only_fields = ('user',)
views.py
class OneView(APIView):
@staticmethod
def get(request):
user = request.user
apt = One.objects.filter(user=user)
if type(apt)==Response:
return apt
return Response(OneSerializer(apt).data)
@staticmethod
def post(request):
serializer = OneSerializer(data=request.data, context = {'request':request})
if serializer.is_valid():
user = request.user
serializer.save(user=user)
return Response(OneSerializer(serializer.instance).data, status=201)
return Response(serializer.errors, statusl=400)
Как сделать так, чтобы такая функция была занята True, сделать соответствующий просмотр доступным только для пользователя-владельца?