0

私はインラインフォームセットを持っています:

OptionFormset = inlineformset_factory(App, AppOptions, can_delete=True, extra=1,
            fields = ['options', 'conditions'])

フォームを送信するとき、テンプレートで確認を行います。

      {% if formset.errors %}
          <p style="color: red;">
              Please correct the error:
          {{ formset.errors }}
          </p>
      {% endif %}

印刷はそれを返します:

Please correct the error [{}, {}] 

明らかに、フォームにエラーはなく、formset.errorsにもエラーはありません。エラーはおそらくビューにありますか?

view.py:

  def setAppOption(request, app_name):
      app_selected = App.objects.get(app_name=app_name, created_by=request.user)
      formset = OptionsFormSet(instance=fusionTable_selected)
      if request.method == 'POST':
          formset = OptionFormset(request.POST, instance=fusionTable_selected)
            if formset.is_valid():   
              formset.save()

      return render_to_response("ezApp/manage__Options.html", {'formset': formset}, context_instance=RequestContext(request))

models.py

    class App(models.Model):
        layer_name = models.SlugField(max_length=50)

        def __unicode__(self):
            return self.layer_name

    class AppOptions(models.Model):
        app = models.ForeignKey(EzApp)
        condition = models.CharField('SQL Query Conditions', max_length=100, blank=True)
        option = models.CharField('SQL Query Conditions', max_length=100, blank=True
4

1 に答える 1

1

formset.errorsを正しく表示する

{% for dict in formset.errors %}
    {% for error in dict.values %}           
        Please correct the error: {{ error }}
    {% endfor %}
{% endfor %}
于 2013-03-03T02:48:33.333 に答える