我是Django的新手,并且有一些问题写入MySQL dB。我想要做的是循环嵌套的JSON数据,并动态创建一个字符串用于save()方法。动态创建Django的查询字符串> JSON的MySQL
我已经通过我的嵌套JSON数据循环,并成功创建了一个包含我想在单行保存到MySQL表“mysqltable”数据的字符串:
q = "station_id='thisid',stall_id='thisstaull',source='source',target='test'"
然后我尽量节省这在MySQL表:
b = mysqltable(q)
b.save()
但我得到的错误:
TypeError: int() argument must be a string or a number, not 'mysqltable'
我认为正在发生的是它不喜欢我创建了一个字符串以在b = mysqltable中使用的事实(q)。当我刚写出来的语句,如下面的正常工作:
q = mysqltable(station_id='thisid',stall_id='thisstaull',source='source',target='test')
q.save()
但我不知道如何采取串并使其可与b.save使用()。任何帮助将不胜感激!
为什么你把你的JSON数据转换为一个字符串?把它保存为字典会更有用,然后你可以用'mysqltable(** data)'将它直接传递给模型初始化。该字符串格式没有用处。 –
感谢您的回复。我试图处理JSON中的嵌套,并且我知道.save()之前的语句是mysqltable(variable1 ='value1“,variable2 ='value2')。因此,通过循环创建该字符串非常简单key:value动态地创建key:value对,仅用于存在于JSON中的元素。我不想为JSON中不存在的元素写入空值到dB。是否有可以指向的答案我为了将嵌套的JSON扁平化为一个简单的插入到表中? – Scott
我不是很确定你在找什么,因为我和钢都说过,你可以直接传递当前属性的dict,显然已经循环嵌套的字典为每个项目创建一个字符串,你可以传递当前的子字典,如果你仍然有问题,你需要发布完整的处理代码和一个嵌套的JSON的例子 –