2014-02-17 48 views
0

從Django的真棒,化身應用的avatar模型領域擴展ImageField沒有定製to_python方法(見django guide如何保存在正常形式的Django真棒具象場

在我看來,這只是迎合爲ModelForm節約使用類方法save_form_data,但我目前有包括2款因此ModelForm將不適合在這種情況下,形式

source

剛想知道如何保存這個特定領域的正常形式數據?

回答

0

我現在的黑客是表單類中保存方法:

profile = Profile.objects.get(id=1) 

if self.cleaned_data['avatar']['file'] is not None: 
    avatar_field = AvatarField() 
    avatar_field.name = 'avatar' 
    avatar_field.save_form_data(profile, self.cleaned_data['avatar']) 

或更改相關的代碼(個體經營)如果你這樣做了窗體類的外面。

或者,我可以通過_meta類中的字段進行循環,但似乎直接實例化新的字段對象更容易。