2013-04-22 43 views
0

我循環表單中的所有項目。有些是我的表單域不是必需的。如果我的價值是空白的,那麼我不希望它做任何事情。只有非空格的循環窗體值

這是試圖在我的for循環來檢查空值:

for k, v in cleaned_data.items(): 
      if v: 
       setattr(myModel, v, CharField()) 

我得到的錯誤是:「」是這個功能的無效關鍵字參數

+1

你也可以添加「做某事」的代碼。你在哪裏看到錯誤? – 2013-04-22 11:01:24

+0

嗨@NCao我添加了一些代碼。 – GrantU 2013-04-22 11:02:49

+1

這永遠不會起作用。您無法通過setattr動態添加字段到模型。它必須在元類中完成。 – 2013-04-22 11:05:05

回答

2

你不能添加使用getattr到模型字段,你需要複製由ModelBase元類,而不是做的工作:

for k, v in cleaned_data.iteritems(): 
    if v: 
     myModel.add_to_class(v, CharField()) 
+0

是的謝謝你:) – GrantU 2013-04-22 11:14:25