2014-02-17 2 views
0

avatar полевая модели из Джанго-устрашающий-аватар приложения расширяет ImageField без настраиваемой to_python методы (см django guide)Как сохранить Джанго-устрашающее-аватар поля в нормальной форме

Мне кажется, что это только удовлетворить для 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']) 

Или изменить соответствующий код (Self), если вы делаете это за пределами класса формы.

В качестве альтернативы я могу перебирать поля в классе _meta, но, похоже, проще создать новый объект поля.

Смежные вопросы