JB2*_*JB2 0 python django django-rest-framework
因此,在阅读了Django REST Framework文档和一堆教程之后,我仍然无法理解如何使用Django序列化程序将传入的POST(JSON)数据转换为Python对象(抱歉,我是新的).
鉴于我发布了一个JSON字符串,比如api/foo/bar,我该如何编写它的序列化程序?
示例JSON:
{ 'name': 'Mr. Foo', address:'Bar Street' }
Run Code Online (Sandbox Code Playgroud)
我的控制器Foo包含一个bar方法如下:
@detail_route(
methods=['post']
)
def bar(self, request, uuid=None):
serializer = MySampleSerializer(data=request.DATA)
something.clone(serializer.object)
return Response(status=status.HTTP_201_CREATED)
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释我的序列化器应该是什么样的吗?如何从串行器访问序列化数据?
由于您不想使用模型,因此必须从头开始创建序列化程序.这样的事情应该可行:
class MySerializer(serializers.Serializer):
name = serializers.CharField(max_length = 100)
adress = serializers.CharField(max_length = 100)
Run Code Online (Sandbox Code Playgroud)
然后你可以在这样的请求中使用它:
def bar(self, request, uuid=None):
data = JSONParser().parse(request)
serializer = MySerializer(data = data)
return Response(status=status.HTTP_201_CREATED)
Run Code Online (Sandbox Code Playgroud)
但请注意,由于您尚未创建Django模型,因此无法保存序列化数据(因此不会将任何内容保存在数据库中)
| 归档时间: |
|
| 查看次数: |
831 次 |
| 最近记录: |