Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 未收到保留API终结点的错误响应_Django_Rest_Response - Fatal编程技术网

Django 未收到保留API终结点的错误响应

Django 未收到保留API终结点的错误响应,django,rest,response,Django,Rest,Response,我为预订编写了restapi端点。它会检查房间的可用性,如果不可用,则会以错误响应。代码运行的点和if语句检查工作正常,没有创建新对象,但我看不到响应错误 这是my views.py: class ReservationViewSet(viewsets.ModelViewSet): """Manage Reservation in database""" queryset = Reservation.objects.al

我为预订编写了restapi端点。它会检查房间的可用性,如果不可用,则会以错误响应。代码运行的点和if语句检查工作正常,没有创建新对象,但我看不到响应错误

这是my views.py:

class ReservationViewSet(viewsets.ModelViewSet):
    """Manage Reservation in database"""
    queryset = Reservation.objects.all()
    serializer_class= serializers.ReservationSerializer
    

    def get_queryset(self):
        """return a list of Reservations"""
        return self.queryset.order_by('-id')

    def perform_create(self, serializer):
        """create a new Reservation if available"""
        Room_ID = self.request.data.get('RoomID')
        Start_Date= self.request.data.get('StartDate')
        End_Date= self.request.data.get('EndDate')
        Check1 = Reservation.objects.filter(RoomID=Room_ID).filter(StartDate__gte=Start_Date).filter(StartDate__lte=End_Date)
        Check2 = Reservation.objects.filter(RoomID=Room_ID).filter(EndDate__gte=Start_Date, EndDate__lte=End_Date)
        Check3 = Reservation.objects.filter(RoomID=Room_ID).filter(StartDate__gte=Start_Date).filter(EndDate__gte=Start_Date).filter(StartDate__lte=End_Date).filter(EndDate__lte=End_Date)
    
        if (Check1 or Check2 or Check3):
            serializer.is_valid(raise_exception=True)
            print("it is not allowed")
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        else:
            serializer.save() 
这是URL.py:

from django.urls import path, include
from rest_framework.routers import DefaultRouter

from reservation import views

router = DefaultRouter()
router.register('', views.ReservationViewSet)

app_name='Reservatiom'

urlpatterns=[

    path('', include(router.urls)),
]
这是我的serializer.py

from rest_framework import serializers
from core.models import ListingOwner, Room, Reservation
from room.serializers import RoomSerializer

class ReservationSerializer(serializers.ModelSerializer):
    """"Serializer for making a new Reservation"""
    RoomID = serializers.PrimaryKeyRelatedField(queryset=Room.objects.all(),many=True)
    class Meta:
        model = Reservation
        fields=('id','ReserverName','StartDate', 'EndDate', 'RoomID' )