json - 解析 json 数据并将其存储到 django 模型
问题描述
我可以在 django 中使用视图内的请求调用 api,以获取字典格式的数据响应,如下所示:
{'name': 'John', 'Value': [2, 4, 3]}
我现在对如何将这些数据加载到我现有的模式感到困惑:
class Table_name(models.Model):
person_name = models.CharField(max_length=100)
person_value = models.CharField(max_length=30)
有人可以建议吗?
谢谢
解决方案
如果您打算为应用程序中的多个视图执行此操作,则应考虑使用Django REST 框架并编写序列化程序以将 JSON 结构链接到模型。
如果您不希望这样,只需将所有转换逻辑放在您的视图中:
def view(request):
# I assume your JSON data is in a dict called `data`:
tablename = Table_name(person_name=data['name'],
person_value=str(data['Value']))
if tablename.is_valid():
tablename.save()
return ... # response if succeeded
else:
return ... # response if failed
不清楚你想如何将列表Value
转换为字符串,所以我刚刚str()
在上面的示例中使用过。
请注意,您可能不相信 API 会为您提供按预期格式化的数据。如果是这样,请确保生成字典不会引发或做任何意外,无论输入数据是什么。
最后,我建议你阅读这篇关于如何命名你的类的文章(TableName
比 更普遍接受Table_name
)。