我想在inlineformset_factory表单中更改默认上载字段(FileField),以使用django.contrib.admin.widgets中的AdminFileWidget.这样做的目的是显示当前上传文件的路径,就像在管理表单中一样(也许还有另一种方法可以做到这一点?).
我可以毫不费力地使用自定义表单来使用窗口小部件,但是无法弄清楚如何在inlineformset_factory中更改窗口小部件.
Ste*_*lim 10
这将为您提供Admin FileField小部件,而不是带有5个额外字段的标准小部件.
views.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
Run Code Online (Sandbox Code Playgroud)
forms.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()
Run Code Online (Sandbox Code Playgroud)