3

我想在管理模型表单中包含一个文件字段,该字段将用于上传一个文件,然后读取该文件,其内容将用于更新同一模型中的其他字段。处理完文件本身就不需要了,所以我不希望模型中的文件字段只是在表单中。

我自己覆盖保存和处理表单没有问题,但我不知道如何在我的表单中包含不在模型中的文件字段。

4

1 回答 1

7

您应该为此模型创建一个ModelForm ,并在那里添加该字段。它可能看起来像这样:

from django import forms

from models import MyModel

class MyModelForm(forms.ModelForm):
    extra_file = forms.FileField()

    class Meta:
        model = MyModel

然后,您可以让 ModelAdmin 使用此表单。如果您将 MyModelForm 保存在 yourapp/forms.py 中,您的 ModelAdmin 将如下所示:

from django.contrib import admin

from models import MyModel
from forms import MyModelForm

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm
admin.site.register(MyModel, MyModelAdmin)
于 2012-04-27T14:36:13.340 回答