Django在表格的每一行中形成

时间:2016-03-17 11:59:19

标签: ajax django forms django-forms formset

我希望在表的每一行都有一个简单的文本表单。

预期结果的小提示: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是唯一的方式吗?

0 个答案:

没有答案