Djangoの複数ファイルのアップロードに失敗しました

私は同じ <form> .. </form>
タグ内に2つのDjangoフォームを持つ単一のHTMLページを持っています。複数のファイルをアップロードしようとする場合を除いて、すべてがうまくいきます。

それぞれのフォームには独自のイメージがあり、何らかの理由で最初のフォームからしかイメージを保存できません。
2番目のフォームの他のデータはまだ保存されますが、イメージはありません。エラーや例外が発生することはありませんので、何がうまくいかないのか分かりません。

ここに私のviews.pyがあります

def display_form(request):
if request.method == 'POST':
    form_team = TeamForm(request.POST, request.FILES, prefix="team")
    form_player = PlayerForm(request.POST, request.FILES, prefix="play")
    #form_ketua = KetuaForm(request.POST, request.FILES, prefix="ketua")

    if all([form.is_valid() for form in [form_team, form_player]]):
        # save Team data first, overwrite if exists
        try:
            team = Team.objects.get(kota=form_Team.cleaned_data['name'])
            team.profil = form_Team.cleaned_data['profil']
            team.save()
        except Team.DoesNotExist:
            team = Team(**form_Team.cleaned_data)
            team.save()

        play = form_Player.save(commit=False)
        play.name = team
        play.save()

else:
    form_team = TeamForm(prefix="team")
    form_player = PlayerForm(prefix="play")
    #form_ketua = KetuaForm(prefix="ketua")
    print "a"

# list with tuple (form, legend) to pass as context
forms = [(form_Team, 'Team Data'),
         (form_Player, 'Player Profile'),
        ]

return render_to_response(
    'form/team.html', 
    {
        'formlist': forms,
    },
)

私は間違って何をしていますか?

編集:私のテンプレートです

{% extends "base.html" %}

{% block title %}Form - {{ title }}{% endblock %}

{% block content %}
<form action="." method="POST" enctype="multipart/form-data">{% csrf_token %}
{% for formitem in formlist %}
  {% if formitem.1 %}
  

{{ formitem.1 }}

{% endif %} {{
formitem.0.non_field_errors }} {% for field in
formitem.0.visible_fields %} <div class="formfield"> {{
field.errors }} {{ field.label_tag }} {{ field }} </div> {%
endfor %} {% if formitem.1 %}

 
  {% endif %}
{% endfor %}
<div id="formbuttons">
  <input type="submit" value="Submit" class="button">
  <input type="reset" value="Reset" class="button">
</div>
</form>
{% endblock %}
ベストアンサー

commit = False でフォームを保存する
play.save()が不足しているようです

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です