我希望在表的每一行都有一个简单的文本表单。
预期结果的小提示:https://jsfiddle.net/wstg759f/1/
我的Models.py
:
class Person(models.Model):
name = models.CharField(max_length=30)
class Quality(models.Model):
name = models.CharField(max_length=30)
person=models.ForeignKey(Person)
我有一个查询集,它返回所有人的汇总列表,每个人的质量数,这个人的一个随机质量:
[
{'the_count': 5, u'randomquality': u'Nice’, u'person__name': u'Joe'},
{'the_count': 4, u'randomquality': u'Generous’,u'person__name': u'Mike'},
{'the_count': 4, u'randomquality': u'Healthy’,u'person__name': u'John’'},
..
]
我的view.html(质量是我的查询集)
<table>
<thead>
<tr>
<th>Person</th>
<th>Qualities count</th>
<th>One random quality</th>
<th>Add a Quality?</th>
</tr>
</thead>
<tbody>
{%for obj in qualities%}
<tr>
<td>{{ obj.person__name }}</td>
<td>{{ obj.the_count }}</td>
<td>{{ obj.randomquality }}</td>
<td>text form to submit a quality for this person</td>
</tr>
{% endfor %}
</tbody>
</table>
用户应该能够在文本字段中输入质量,一旦提交,它将被添加到模型中,文本字段将替换为&#34;感谢,提交&#34; 提交表格必须是独立的。 我没有明确的方向去哪看。 你会怎么做?
从我的阅读中,我知道formset可能是一个解决方案,但它们对我来说真的不清楚。 我应该在这种情况下使用django表格吗? 如果是的话,我相信表格应该从模板中进行论证:我不需要用户告诉我这个人名已经在这里。 如果我能澄清,请告诉我。 提前谢谢。
作为奖励,也许以后,我想避免页面刷新。 ajax是唯一的方式吗?