我使用Generic CreateAPIView将模型保存在数据库中。这是我的代码:
class AppointmentCreateAPIView(generics.CreateAPIView):
permission_classes = (AppointmentCreatePermission,)
queryset = Appointment.objects.all()
serializer_class = AppointmentSerializer
在我的urls.py
文件中,我有这个:
urlpatterns[
url(r'^appointments/create', AppointmentCreateAPIView.as_view()),
]
这个url显然支持POST操作。但是,我想使用这个相同的URL来处理GET请求,该请求将获取填充约会创建表单所需的数据。我知道我可以使用单独的网址来获取和发布,但这不是我想要的。是否有可能保持相同的URL,但使用不同的HTTP Verb,视图将能够处理GET和POST请求?
答案 0 :(得分:1)
您可以通过在视图中手动添加get
方法来执行此操作,它看起来像这样。下面的代码可能不起作用,但会给你一般的想法。
from rest_framework.response import Response
class AppointmentCreateAPIView(generics.CreateAPIView):
permission_classes = (AppointmentCreatePermission,)
queryset = Appointment.objects.all()
serializer_class = AppointmentSerializer
def get(self, request, *args, **kwargs):
serializer = AppointmentSerializer({your_data})
return Response(serializer.data)