我試圖做一個Django數據庫保存從一個窗體,我不得不手動指定字段名(正如我在第二個代碼塊中那樣),我嘗試這樣做的方式如下(第一個代碼塊),因爲我從另一個SO帖子。然而,當我嘗試這個時,我得到的錯誤「字典更新序列元素#0長度爲4; 2是必需的」,我甚至嘗試過,如下所示,只用一個testdict字典,而不是request.POST,但我仍然得到的錯誤..顯然該字段的值是罰款,因爲它在第二代碼塊中工作,所以我很難爲這種情況發生,將不勝感激,如果任何人都可以擺脫這個對我來說這個...謝謝Django/Python,使用iteritems()更新數據庫給出了奇怪的錯誤:「字典更新序列元素#0有長度4; 2是必需的」
嘗試這種方式給出了錯誤:
testdict = {'name':'account_username','value':'vvvvvv'}
for name, value in testdict.iteritems():
if name != '' and name != 'top_select':
b = Twitter(**dict((name, value)))
b.save()
>>> dictionary update sequence element #0 has length 4; 2 is required
但能正常工作:
b = Twitter(account_username='vvvvvv')
b.save()
爲什麼不只是'B =推特(** {名稱長度:value})'? – 2010-09-07 04:16:34
會嘗試這兩種方式,它爲django數據庫調用,所以不能確定它需要的正常方式,他們建議是第二代碼塊,但我不想這樣做,因爲我想迭代通過沒有手動輸入名稱 – Rick 2010-09-07 04:19:41
@Jack,或許我認爲更好。我改了它 – 2010-09-07 04:30:31