正在为 django rest 框架工作中的每个视图强制创建序列化程序
is creating serializer mandatory for each View in django rest frame work
我正在开发我没有在一个视图中使用序列化器的应用程序我只是想问问我做错了什么。
我在 url 中得到一个委员会 ID,在正文中我得到 usr_id whos status 如果有人向这个端点发送 post 请求,我想改变。
这是我的 url
path('committee/<int:id>/accept-request/', RequestAcceptView.as_view(), name="accept-request"),
这是我的view.py
class RequestAcceptView(APIView):
def post(self, request, id):
user_id = request.data['user']
print("iddddd",user_id )
try :
approve_request = Member.objects.filter(
Q (com=Committee.objects.get(id=id))
).update(mem_status="fully_approved")
return Response(SuccessResponse(msg="Request accepted"))
except:
return Response(ErrorResponse(msg="invalid))
我想知道我在这里没有出于任何目的使用序列化程序,可以吗?我应该删除序列化程序文件吗?
不,当您使用 ApiView 时不是。 Generic 和 ModelView 需要它们。您还应该考虑一下,如果您想要自动生成的文档,您需要序列化程序,它也会执行验证(因为您没有使用 id 字段,而是 request.data。
如果 request.data 和 I'd 相同,那么您可能想要删除序列化程序
我正在开发我没有在一个视图中使用序列化器的应用程序我只是想问问我做错了什么。 我在 url 中得到一个委员会 ID,在正文中我得到 usr_id whos status 如果有人向这个端点发送 post 请求,我想改变。 这是我的 url
path('committee/<int:id>/accept-request/', RequestAcceptView.as_view(), name="accept-request"),
这是我的view.py
class RequestAcceptView(APIView):
def post(self, request, id):
user_id = request.data['user']
print("iddddd",user_id )
try :
approve_request = Member.objects.filter(
Q (com=Committee.objects.get(id=id))
).update(mem_status="fully_approved")
return Response(SuccessResponse(msg="Request accepted"))
except:
return Response(ErrorResponse(msg="invalid))
我想知道我在这里没有出于任何目的使用序列化程序,可以吗?我应该删除序列化程序文件吗?
不,当您使用 ApiView 时不是。 Generic 和 ModelView 需要它们。您还应该考虑一下,如果您想要自动生成的文档,您需要序列化程序,它也会执行验证(因为您没有使用 id 字段,而是 request.data。 如果 request.data 和 I'd 相同,那么您可能想要删除序列化程序