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 に答える