直接以表格形式发布对象

时间:2019-05-09 01:18:53

标签: html django

是否可以通过Django HTML表单直接使用option标签中的值保存对象?

<select class="form-control" name="person">
        <option selected disabled>Choose</option>
        {% for person in group %}
        <option value="{{ person }}">{{ person.name }}</option>
        {% endfor %}
</select>
class Group(models.Model):
    group_name = models.CharField(max_length=255, blank=True)
    person = models.ForeignKey(Person, on_delete=models.CASCADE)

    def __str__(self):
        return self.group_name

尝试了上述操作,但出现“未返回HttpResponse对象”。我知道我可以传递一个ID,但是是否可以直接保存对象,而不用转到views.py并通过ID获取对象?

2 个答案:

答案 0 :(得分:0)

您可以使用AJAX请求执行此操作,但是您仍然需要一个用于创建对象的视图(URL)

提示:How do I POST with jQuery/Ajax in Django?

答案 1 :(得分:0)

您可以通过使用person_name值来获取对象,使用选项标签(即人名)中的值来保存对象,如下所示:

假设您从选项标签中获得的值是person_name,而您要保存的对象是Group对象。

Group.objects.get(person__name=person_name)

然后更新对象。