django-awesome-avatar app中的avatar
模型字段扩展了ImageField
,没有自定义to_python
方法(请参阅django guide)
在我看来,只使用类方法ModelForm
来保存save_form_data
,但我目前有一个涵盖2个模型的表单,因此ModelForm
不适合这种情况< / p>
请参阅source
只是想知道如何保存此特定字段的正常表单数据?
答案 0 :(得分:0)
我当前的hack位于表单类保存方法中:
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'])
如果您在表单类之外执行此操作,请更改相关代码(self)。
或者我可以遍历_meta类中的字段,但似乎直接实例化一个新的字段对象更容易。