POST объект в форме напрямую - PullRequest
0 голосов
/ 09 мая 2019

Можно ли сохранить объект через HTML-форму Django со значением в теге 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". Я знаю, что могу передать идентификатор, но возможно ли сохранить объект напрямую, вместо того, чтобы перейти к views.py и получить объект через идентификатор?

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

Вы можете сохранить объект, используя значение в теге option, которое является именем человека, путем извлечения объекта с использованием значения person_name, как показано ниже:

Предполагая, что значение, которое вы получаете из тега параметра в виде person_name, и объект, который вы пытаетесь сохранить, - это объект Group.

Group.objects.get(person__name=person_name)

и затем обновите объект.

0 голосов
/ 09 мая 2019

Вы можете сделать это с помощью AJAX-запроса, но вам все еще нужен вид (URL), который создает объект

Подсказка: Как мне отправить с JQuery / Ajax в Django?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...