2012-04-27 8 views
2

ファイルフィールドを管理モデルのフォームに含めて、読み込んだファイルをアップロードしてその内容を使用する同じモデル内の他のフィールドを更新します。処理した後、ファイル自体は必要ないので、私はフォームの中にモデルのファイルフィールドを入れたくありません。モデルにないdjangoの管理モデルフォームにファイルフィールドを含める方法

フォームを保存して処理するのに問題はありませんが、モデルに含まれていないフォームにファイルフィールドを含める方法がわかりません。

答えて

6

ModelForm for this modelを作成し、そこにフィールドを追加する必要があります。それは次のようになります。

from django import forms 

from models import MyModel 

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

    class Meta: 
     model = MyModel 

を次に、あなたがmake the ModelAdmin to use this formをすることができます。 yourapp/forms.pyにMyModelFormを保存した場合、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) 
関連する問題