2012-02-18 21 views
3

私はInventoryItemsとCategoriesの簡単な設定をしています。私はInventoryItemsのformsetを持っているが、私はFKカテゴリに基づいて項目を分割したい、私は必要ないか、インラインフォームのセットをしたい。djangoフォームセットを外部キーに基づくグループにグループ化する

私はテンプレートでやりたい私は
class Category(models.Model): 
    name = models.CharField(max_length=255) 
    inventory = models.BooleanField(default=False) 

class Inventory(models.Model): 
    name = models.CharField(max_length=255) 
    quantity = models.IntegerField() 
    category = models.ForeignKey(Category) 

def viewOfForm(request): 
    categories = Category.objects.filter(inventory=True) 
    InventoryFormset = modelformset_factory(Inventory, can_delete=True, extra=1) 
    formset = InventoryFormset(request.POST or None, queryset=Inventory.objects.filter(category__inventory=True)) 
    return render_to_response('template.html', locals()) 

を持っているものの

簡易版

{% for category in categories %} 
<fieldset class="collapse"> 
<h2>{{ category.name }}</h2> 
{% for form in formset %} 
{% if form.category == category %} 
{{ form }} 
{% endif %} 
{% endfor %} 
</fieldset> 
{% endfor %} 
あなたが唯一この作業を取得するために小さな変更を必要とする

答えて

3

。あなたのifテンプレートタグでform.instance.categoryを使用します。

{% if form.instance.category == category %} 
+0

私が前にform.instance使用する能力を逃したかわかりません。ありがとう。 –

関連する問題