Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django管理模型表单中包含不在模型中的文件字段_Python_Django_Django Models_Django Forms_Django Admin - Fatal编程技术网

Python 如何在django管理模型表单中包含不在模型中的文件字段

Python 如何在django管理模型表单中包含不在模型中的文件字段,python,django,django-models,django-forms,django-admin,Python,Django,Django Models,Django Forms,Django Admin,我想在管理模型表单中包含一个filefield,该表单将用于上传一个文件,然后该文件将被读取,内容将用于更新同一模型中的其他字段。在处理之后,文件本身是不需要的,所以我不希望模型中的filefield只是在表单中 我自己重写保存和处理表单没有问题,但是我不知道如何在表单中包含一个不在模型中的文件字段。您应该创建一个,然后在那里添加该字段。它可能是这样的: from django import forms from models import MyModel class MyModelForm

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

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

您应该创建一个,然后在那里添加该字段。它可能是这样的:

from django import forms

from models import MyModel

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

    class Meta:
        model = MyModel
from django.contrib import admin

from models import MyModel
from forms import MyModelForm

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm
admin.site.register(MyModel, MyModelAdmin)
然后,你可以。如果将MyModelForm保存在app/forms.py中,则ModelAdmin将如下所示:

from django import forms

from models import MyModel

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

    class Meta:
        model = MyModel
from django.contrib import admin

from models import MyModel
from forms import MyModelForm

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm
admin.site.register(MyModel, MyModelAdmin)