我有以下数据来自
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>)
因此,我们使用 map
ping 首先将这些 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/