2012-10-01 91 views
1

我有一個Django表單集與一組初始數據,加載一個外鍵關係對象到初始形式:Django的FORMSET訪問初始數據模板

{{ cellcountformset.management_form }} 
{% for form in cellcountformset %} 
<div id=""> 
    {{ form.errors }} 
    {{ form.as_p }} 
</div> 
{% endfor %} 

相關型號是這樣的:

class CellType(models.Model): 
    readable_name = models.CharField(max_length=50) 
    machine_name = models.CharField(max_length=50) 
    comment = models.TextField(blank=True) 

class CellCount(models.Model): 
    cell_count_instance = models.ForeignKey(CellCountInstance) 
    cell = models.ForeignKey(CellType) 
    normal_count = models.IntegerField() 
    abnormal_count = models.IntegerField() 
    comment = models.TextField(blank=True) 

我希望能夠顯示由CellCount模型的單元屬性引用的單元的machine_name作爲div#id。我使用ModelCormSet作爲CellCount,它傳遞一個CellType對象列表作爲其初始數據。

回答

4

表單的初始數據存儲在form.initial,所以嘗試:

{{ form.initial.cell.machine_name }} 
+0

優秀 - 感謝您的! – jvc26

0

我不認爲你可以使用表單字段遍歷模型並獲取機器名稱,但我會檢查。如果可以,語法將類似於

<div id="{{ form.fields.cell.machine_name }}"> 

但我認爲你將需要爲此編寫一個自定義模板過濾器。它可以將表單作爲參數,並返回與其關聯的計算機名稱(如果表單未綁定,則返回空白)。然後,你將能夠編寫

<div id="{{ form|machine_name }}">