Доступ Django к связанным полям модели в представлении формы
Я пытаюсь создать форму, которая извлекает все объекты для одной таблицы (students) в базе данных и позволяет пользователю выбрать, какой из них он хочет выбрать для отправки электронного письма.
Прямо сейчас я не могу правильно отобразить данные о студентах, но на самом деле они показывают нужное количество студентов. Если я выберу второй вариант ввода, который будет отображаться с помощью student.tag
, он фактически получит нужную информацию, но если я выберу первый, информация не будет представлена.
Вот моя анкета:
class SendEmailStudentsForm(forms.Form):
students = forms.ModelMultipleChoiceField(
queryset=Students.objects.all(),
widget=forms.CheckboxSelectMultiple,
required=False)
И шаблон, который я использую:
<form action="#" method="post">
{% csrf_token %}
{% for student in form.students %}
<ul>
<li>{{ forloop.counter }} - {{ student.id }}</li>
<li>Email: - {{ student.email }}</li>
<li>Add student<input type="checkbox" id="{{ student.id }}"></li>
<li>Add <span>{{ student.tag }}</span></li>
</ul>
{% endfor %}
<button type="submit" class="btn btn-primary">Send emails</button>
<a href="{% url 'students:index' %}" class="btn btn-primary">Back</a>
</form>
И мое мнение:
def select_students_emails(request):
if request.method == "POST":
form = SendEmailStudentsForm(request.POST)
if form.is_valid():
print(form.cleaned_data)
# send_mail(...)
return HttpResponseRedirect(reverse('students:index'))
else:
form = SendEmailStudentsForm()
return render(request, 'students/select_students.html', context={'form': form})