2011-01-18 4 views
2

Я могу добавить поля в набор форм? Кажется, вы можете добавлять поля, если пользователь имеет обычный набор форм, но не с модельными наборами форм (по крайней мере, это не то же самое). Я не думаю, что я должен использовать встроенный набор форм ..?Django: Добавить поле в модель formet

Я хочу, чтобы пользователи редактировали свой фотоальбом (django-photologue). До сих пор я успел сделать это:

PhotoFormSet = modelformset_factory(Photo, 
             exclude=(
             'effect', 
             'caption', 
             'title_slug', 
             'crop_from', 
             'is_public', 
             'slug', 
             'tags' 
             )) 

context['gallery_form'] = PhotoFormSet(queryset=self.object.gallery.photos.all()) 

Проблема заключается в том, что я должен добавить флажок для каждой фотографии говорят «Удалить эту фотографию» и радио выберите говоря «Установите в свой альбом обложка".

Заранее благодарен!

ответ

8

Вы можете добавить поля. Просто определить форму обычным способом, а затем сказать modelformset_factory использовать это в качестве основы для formset:

MyPhotoForm(forms.ModelForm): 
    delete_box = forms.BooleanField() 

    class Meta: 
     model = Photo 
     exclude=('effect', 
       'caption', 
       'title_slug', 
       'crop_from', 
       'is_public', 
       'slug', 
       'tags' 
       )) 

PhotoFormSet = modelformset_factory(Photo, form=MyPhotoForm) 
+0

Спасибо, что сделал трюк. Последнее, как я могу решить проблему с радио-коробкой, радиоканал имеет мутацию для всех фотографий? – mrmclovin

+0

Это выходит за рамки этого вопроса. Попросите отдельную, и я отвечу туда. –

+0

Okey Я задал вопрос здесь: http://stackoverflow.com/questions/4730161/django-using-radio-select-box-on-model-formsets – mrmclovin