【问题标题】:Django: Add field to model formsetDjango:将字段添加到模型表单集
【发布时间】:2011-06-11 07:04:01
【问题描述】:

我可以向模型表单集添加字段吗?如果您使用普通表单集但不能使用模型表单集,您似乎可以添加字段(至少它不一样)。我认为我也不应该使用内联表单集..?

我想让用户编辑他们的相册 (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())

问题是我必须为每张照片添加一个复选框,说“删除这张照片”和一个收音机选择,说“设置为专辑封面”。

提前致谢!

【问题讨论】:

    标签: django model field add formset


    【解决方案1】:

    您可以添加字段。只需以正常方式定义一个表单,然后告诉modelformset_factory 将其用作表单集的基础:

    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)
    

    【讨论】:

    • 谢谢你成功了。最后一件事,如何解决单选框问题,单选框对所有照片都是相互的?
    • 这超出了这个问题的范围。问一个单独的,我会在那里回答。
    • 好吧,我在这里问了这个问题:stackoverflow.com/questions/4730161/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 2018-11-01
    • 2018-05-25
    • 1970-01-01
    • 2012-02-08
    • 2018-08-03
    相关资源
    最近更新 更多