2010-12-02 70 views
-1

我有一個窗體的字段不在通訊模型上。我使用這些「虛擬」字段用clean()方法填充一個真正的字段。Django - 壓倒一切clean_data

因此,用戶在「虛擬」字段中輸入數據,我必須用相同的數據填寫真實字段。

我認爲覆蓋clean_data [「real_field」]是可能的,但我做不到。

我的代碼是這樣的:

(...) 
cleaned_data['real_field'] = cleaned_data['virtual_field'] 
(...) 
return cleaned_data 

的另一種方式,我可以做任何想法,或者如果我做錯了,我該如何解決?

回答

-1

沒關係,我有一個錯誤。實際字段沒有在字段集中聲明(admin.py)。

3

在你的窗體類:

def clean(self): 
    cleaned_data = self.cleaned_data 
    cleaned_data['real_field'] = cleaned_data['virtual_field'] 
    return cleaned_data 
+0

它也可以在`clean_field(self)`方法中完成嗎? – Anuj 2015-09-16 12:31:54