我在Django中有一個表單集。在Django中的模型表單中獲取數據
我打印此表單集的模板作爲
{% for form in formset %}
{{ form.name }}
{% endfor %}
的表單集由查詢集的形式和一些額外的形式。但我需要一些來自查詢集的字段值,我不會將其顯示爲表單。這怎麼可能?這是一個包含prefetch_related
的查詢集,所以這些字段實際上並不在模型中,但是會加入到我的查詢集中。
我的模型
class Person:
name = CharField(max_length=200)
class Grade:
person = ForeignKey(Person)
grade = IntegerField()
我查詢集是Person.objects.prefetch_related('grade_set')
。
我的模板是
{% for form in formset %}
Object id: {{ obj.id }}
{{ form.name }}
{{ obj.grade_set.all|running_total }}
{% endfor %}
我知道obj
沒有定義,但我認爲這也許將有可能做這樣的事情在模板:
{% for obj, form in object_formset %}
Object id: {{ obj.id }}
{{ form.name }}
{{ obj.grade_set.all|running_total }}
{% endfor %}
現在我的表單集只包含表單,但我需要一個對象列表並從該對象列表創建一些表單。我可以通過創建表單並使用字段名稱和輸入名稱來完成一些小操作,並完全避免了Django創建表單的方式,但我認爲這將是愚蠢的。必須有其他方式。
請包括您所指的型號和形式;當它很抽象時,很難說出你正在引用的內容。 – sgarza62 2014-09-02 19:58:21
另外,當你說「我需要查詢集中的一些字段值」時,你的意思是你在處理提交表單的視圖中需要它們嗎?或者在模板中? – sgarza62 2014-09-02 19:59:48
我已更新我的問題 – Jamgreen 2014-09-03 07:19:33