javascript - Django 尝试将我的数组保存到模型中

标签 javascript python django

我有以下数据来自

manager_item = request.POST.getlist(manager_type_item)

在我看来:

['{"id":"1","title":"Bedroom"},{"id":"2","title":"Taps"}, {"id":"3","title":"Living Room"}']

基本上,其中每一个{"id":"1","title":"Bedroom"}都需要添加到模型中:

    index = 0
    for index, item in enumerate(json.loads(manager_item)):
        print(item['id'])
        print(item['title'])

但我不是 100% 确定要走的路线。希望有人可以帮助我。仍在学习。我知道如何保存到模型,我只需要帮助获取所需的数据。

最佳答案

事实上,这看起来像一个逗号分隔的 JSON blob 列表。我们可以将其转换为列表,如下所示:

from json import <b>loads as jsonload</b>
data = jsonload('[{}]'.format(request.POST[manager_type_item]))

这些是 JSON blob,因此我们可以使用 json.loads 解码它们,然后处理它们,例如:

for itm in data:
    Tag.objects.create(**itm)

或者如果字典包含不属于模型的其他元素:

for itm in data:
    Tag.objects.create(<b>id=itm['id'], title=itm['title']</b>)

因此,我们使用 mapping 首先将这些 JSON blob 转换为相关的 vanilla Python 对象(这里是将字符串映射到字符串的字典),然后将给定的元素放入Tag(或其他东西)中。

或批量:

Tag.objects<b>.bulk_create([Tag(**itm) for itm in data])</b>

关于javascript - Django 尝试将我的数组保存到模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51351705/

相关文章:

python -/home/create/处的完整性错误(1048, "Column 'country_id'不能为空”)

javascript - iframe 在长宽比和响应能力方面的行为类似于图像元素

javascript - PHP 维度数组到 Javascript 数组(不带 JSON)

python - 如何找到两个特殊字符之间的字符串?

python - 使用多个标准 pandas python 查找和替换

python - 从列表中的名称中选择数据框列

Django 选择字段 - 更改显示的内容

javascript - 在没有 Object.defineProperty 的情况下定义不可写属性?

Javascript OnClick 更改各种元素链接颜色

python - 导入表达式的差异?