首页 > 解决方案 > 解析 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)

有人可以建议吗?

谢谢

标签: jsondjangodjango-models

解决方案


如果您打算为应用程序中的多个视图执行此操作,则应考虑使用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)。


推荐阅读