首页 > 解决方案 > 在 Django 中处理多个请求

问题描述

我是 Django 新手,我正在开发一个 rest API,我的 Django 项目是关于与医生预约,而每个用户只能与特定医生预约一次,每次预约都会有一个数字来确定顺序用户,在特定日期,我的问题是两个或多个用户可以同时提出相同的请求,我将如何为他们确定正确的顺序?这是我创建约会的代码

def post(self, request, did):
        doctor = get_object_or_404(pk = did)
        appointment_dt = datetime(request.GET['date'])
        if doctor.is_available(appointment_dt):
            date_counter = len(Appointment.objects.filter(doctor, date))
            if doctor.patient_limit < date_counter + 1:
                return Response({'patient_number':'the date is full'}, status=status.HTTP_406_NOT_ACCEPTABLE)
            appointment = Appointment(data = request.GET)
            if appointment.is_valid():
                appointment.save(user = request.user, doctor = doctor)
                return Response(appointment.data, status = status.HTTP_201_CREATED)
        else:
            return Response({'date':'the doctor is not available at this date'}, status = status.HTTP_409_CONFLICT)

标签: pythondjangoapirest

解决方案


推荐阅读