Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Django 试图实现嵌套表单集时出现的管理错误和初始化错误_Django - Fatal编程技术网

Django 试图实现嵌套表单集时出现的管理错误和初始化错误

Django 试图实现嵌套表单集时出现的管理错误和初始化错误,django,Django,我正在尝试使用添加嵌套的内联线 使用Django 1.4的这些自定义设置: 及 但是,根据form.nested代码的不同,我会得到不同的错误 要么: [u'ManagementForm data is missing or has been tampered with'] 或 下面是解释这一切的代码: **forms.py** 产生这个错误 __init__() got an unexpected keyword argument 'instance' form.nested = [

我正在尝试使用添加嵌套的内联线

使用Django 1.4的这些自定义设置:

但是,根据form.nested代码的不同,我会得到不同的错误

要么:

[u'ManagementForm data is missing or has been tampered with']

下面是解释这一切的代码:

**forms.py** 产生这个错误

__init__() got an unexpected keyword argument 'instance'

form.nested = [
         IndicatorValueFormSet(
              data=self.data or None,
              instance=instance,
              prefix = 'indicator_%s' % pk_value)]

IndicatorValueFormSet = modelformset_factory(IndicatorValue, extra=0)
IndicatorFormSet = inlineformset_factory(Disease, Indicator, formset=BaseIndicatorFormSet, extra=1)
下面的代码产生此错误:

[u'ManagementForm data is missing or has been tampered with']

form.nested = [
          IndicatorValueFormSet(
               queryset = IndicatorValue.objects.filter(relevantindicator = pk_value), 
               prefix = 'value_%s' % pk_value)]

IndicatorValueFormSet = modelformset_factory(IndicatorValue, extra=0)
IndicatorFormSet = inlineformset_factory(Disease, Indicator, formset=BaseIndicatorFormSet, extra=1)
型号.py

class Disease(models.Model):
        disease = models.CharField(max_length=300, verbose_name="disease")


class Indicator(models.Model):
        relevantdisease = models.ForeignKey(Disease, verbose_name="disease")       
        indicator = models.CharField(max_length=300, verbose_name="indicator")

class IndicatorValue(models.Model):
        relevantindicator = models.ForeignKey(Indicator, verbose_name="indicators")
        indicator_value = models.CharField(max_length=50, verbose_name="indicator Values")
更新

HTML

 {{disease.management_form}}

 {{ indicators.management_form }}

{% for relevantindicator in indicators.forms %}

  {{ relevantindicator }}

  {% if relevantindicator.nested %}
  {% for formset in relevantindicator.nested %}
  {{ formset.as_table }}
  {% endfor %}
  {% endif %}

{%endfor%}

这是因为,Django向表单中添加了与管理表单集相关的数据。您需要包含它,因为您正在手动呈现表单

见:


PS:一个简单的Google或Stack Overflow搜索就会得到你的答案。

我不确定错误来自哪里。我相信我的表单集已经按照你链接到我的资源在HTML中了。我已经更新了原始问题,添加了我的视图和HTML的片段。
 {{disease.management_form}}

 {{ indicators.management_form }}

{% for relevantindicator in indicators.forms %}

  {{ relevantindicator }}

  {% if relevantindicator.nested %}
  {% for formset in relevantindicator.nested %}
  {{ formset.as_table }}
  {% endfor %}
  {% endif %}