2016-08-09 1 views
0

これはなぜ動作しないのか分かりません。私がしたいのは、私のinspection_vals formsetを表示することです。何らかの理由で、それぞれについてのinspeciton_valの読み込みとディメンションの説明を表示します.djangoは、inspeciton_valsに説明が指定されておらず、助けに感謝しています。私は私のview.pydjangoの2つのモデルで動作するようにformsetを試してみよう

def update_inspection_vals(request, dim_id=None): 
    dims = Dimension.objects.get(pk=dim_id) 
    inspection_inline_formset = inlineformset_factory(Dimension, Inspection_vals, fields=('reading', 'description',)) 
    if request.method == "POST": 
    formset = inspection_inline_formset(request.POST, request.FILES, instance=dims) 
    if formset.is_valid(): 
     formset.save() 
     return redirect('inspection_vals') 
    else: 
    formset = inspection_inline_formset(instance=dims) 
    return render(request, 'app/inspection_vals.html', {'formset': formset}) 

(次元モデルとinspection_valモデルと)models.py inspeciton_valモデルが外部キーを持っている私がやって:)

をここでたい正確に何の詳細を与えた下に私次元モデルにリンク次元)

class Inspection_vals(models.Model): 
    created_at = models.DateField() 
    updated_at = models.DateField() 
    reading = models.IntegerField(null=True) 
    reading2 = models.IntegerField(null=True) 
    reading3 = models.IntegerField(null=True) 
    reading4 = models.IntegerField(null=True) 
    state = models.CharField(max_length=255) 
    state2 = models.CharField(max_length=255) 
    state3 = models.CharField(max_length=255) 
    state4 = models.CharField(max_length=255) 
    approved_by = models.CharField(max_length=255) 
    approved_at = models.DateField(null=True, blank=True) 
    dimension = models.ForeignKey(Dimension, on_delete=models.CASCADE, default=DEFAULT_FOREIGN_KEY) 
    serial_number = models.IntegerField(default=1) 
    #sample = models.ForeignKey(Sample, on_delete=models.CASCADE, default=DEFAULT_FOREIGN_KEY) 

class Dimension(models.Model): 
    description = models.CharField(max_length=255) 
    style = models.CharField(max_length=255) 
    created_at = models.DateField() 
    updated_at = models.DateField() 
    target = models.IntegerField() 
    upper_limit = models.IntegerField() 
    lower_limit = models.IntegerField() 
    inspection_tool = models.CharField(max_length=255) 
    critical = models.IntegerField() 
    units = models.CharField(max_length=255) 
    metric = models.CharField(max_length=255) 
    target_strings = models.CharField(max_length=255) 
    ref_dim_id = models.IntegerField() 
    nested_number = models.IntegerField() 

    met_upper = models.IntegerField() 
    met_lower = models.IntegerField() 
    valc = models.CharField(max_length=255) 

ここでは私のinspection_vals.htmlは

{% extends "app/layout.html" %} 
{% block content %} 


<br /> 
<br /> 
<br /> 


<form method="post"> 
    {% csrf_token %} 
    {% for x in formset %} 
     {{ x.as_p }} 
    {% endfor %} 
</form> 






{% endblock %} 
です

私が見たいものを実演するスクリーンショット。

What I would like to see

+0

で管理フォームが欠落している:それは{formset.forms%以下でxの%}すべきではありません – steppo

答えて

0

あなただけのヒントテンプレート

<form method="post"> 
    {% csrf_token %} 
    {{ formset.management_form }} # important 
    {% for x in formset %} 
    {{ x.as_p }} 
    {% endfor %} 
</form> 
関連する問題