2012-02-18 3 views
3

나는 InventoryItems 및 Categories의 간단한 설정을 가지고 있습니다. InventoryItems의 formset이 있지만 FK 범주를 기반으로 항목을 분할하고 싶습니다. 인라인 양식 집합이 필요하지 않거나 필요하지 않습니다.django formset을 외래 키 기반 그룹으로 그룹화

내가 템플릿에하고 싶으면 내가
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 사용할 수있는 기능을 놓친 방법을 잘하지 않습니다. 감사. –