gpt4 book ai didi

django - 覆盖 InlineFormset_factory 中的 FileField 小部件?

转载 作者:行者123 更新时间:2023-12-04 22:51:50 27 4
gpt4 key购买 nike

我想更改 inlineformset_factory 表单中的默认上传字段 (FileField),以使用 django.contrib.admin.widgets 中的 AdminFileWidget。这样做的目的是像在管理表单中一样显示当前上传文件的路径(也许还有另一种方法可以做到这一点?)。

我可以使用自定义表单让小部件正常工作,只是无法弄清楚如何在 inlineformset_factory 中更改小部件。

最佳答案

这将为您提供 Admin FileField 小部件,而不是带有 5 个额外字段的标准小部件。

View .py

MySpecialFormset = inlineformset_factory(  MyParentModel, 
MyChildModel,
form=MyChildModelForm,
extra=5)

formset = MySpecialFormset(instance=myparentmodelinstance) #add request.POST and request.FILES if used on the POST cycle

表格.py
from django.contrib.admin.widgets import AdminFileWidget

class MyChildModelForm(forms.ModelForm):

class Meta:
model = MyChildModel

def __init__(self, *args, **kwargs):
super(MyChildModelForm, self).__init__(*args, **kwargs)

self.fields['my_file_field'].widget = AdminFileWidget()

关于django - 覆盖 InlineFormset_factory 中的 FileField 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3798890/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com