0
我有DRF。我想用requests
库进行调用,获取json,用我的一个序列化器解析它并保存到数据库。使用django rest框架来解析服务器响应
是否有可能将json数组传递到串行器并保存到数据库?
我有DRF。我想用requests
库进行调用,获取json,用我的一个序列化器解析它并保存到数据库。使用django rest框架来解析服务器响应
是否有可能将json数组传递到串行器并保存到数据库?
如果需要,请求已经为您提供了dict
,因此不需要解析。只需拨打.json()
并将其直接传入串行器即可。
保存对象是一个单独的问题;您可以在序列化程序中执行此操作,也可以使用序列化程序中验证的数据在视图中手动执行。
resp = requests.get('http://my-service')
if resp.status_code == 200:
ser = MySerializerClass(data=resp.json()) # the .json() parses to a dict
ser.is_valid(raise_exception=True)
# save using the serializer, if you've implemented there
ser.save()
# -or- do it manually
data = ser.validated_data
MyModel.objects.create(name=data['name', etc)
请注意,嵌套序列化器是一个完全不同的主题,不易实现。就我个人而言,我会从validated_data手动创建对象(在该方法中或者在.save
中),使用transactions