【问题标题】:Load json data list in Django models在 Django 模型中加载 json 数据列表
【发布时间】:2020-11-19 03:28:04
【问题描述】:

我正在尝试将此 json 列表转换为 django 模型。但我很困惑。我该如何解决这个问题: json

[
  {
    "rank": 1,
    "employer": "Walmart",
    "employeesCount": 2300000,
    "medianSalary": 19177
  },
  {
    "rank": 2,
    "employer": "Amazon",
    "employeesCount": 566000,
    "medianSalary": 38466
  }
]


class Persons(models.Model):
    rank = models.PositiveIntegerField()
    employer = models.CharField(max_length=100)
    employeesCount = models.PositiveIntegerField()
    medianSalary = models.PositiveIntegerField()

    verbose_name = 'Person'
    verbose_name_plural = 'Person'

【问题讨论】:

  • 这是一生一次的事情吗?如果是这样,编写一个带有 for 循环的脚本,遍历 json 的每个条目,获取值并创建一个对象 Persons.objects.create(rank=rank_value...
  • 这能回答你的问题吗? JSON data convert to the django model
  • 对不起,你能帮我吗?我在将 json 转换为 django 模型时遇到了麻烦。它应该是什么样子

标签: json django


【解决方案1】:

有多种方法可以实现这一点。

  1. 您可以编写某种脚本或管理命令并将数据加载到数据库中。
  2. 您看过loaddata 命令吗?我不确定您是否可以编辑此 JSON,是否可以将您的 JSON 更改为类似下面的内容并将其放在应用程序内名为 fixtures 的文件夹中,然后运行命令 python manage.py loaddata <name_of_file> 会将所有这些数据加载到指定的型号
[
  {
    "model": "app_name.person",
    "fileds": {
       "rank": 1,
      "employer": "Walmart",
      "employeesCount": 2300000,
      "medianSalary": 19177
    }
  },
  {
    "model": "app_name.person",
    "fileds": {
      "rank": 2,
      "employer": "Amazon",
      "employeesCount": 566000,
      "medianSalary": 38466
    }
  }
]

我不知道第二个选项对您是否可行,但第一个选项肯定会起作用。

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2018-10-10
    相关资源
    最近更新 更多