我是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的例子 –