Я хочу записать студента и получить информацию о студентах из модели студента и информацию о курсе из моделей курса.
студент и курс являются отдельными приложениями.
как я могу получить список имен студентов и список курсов в режиме регистрации
вот код
Модель курса
class course(models.Model):
course_name = models.CharField(max_length=30)
course_fee = models.IntegerField(default=3000)
cr_hrs = models.IntegerField(default=2)
def __str__(self):
return self.course_name
Модель студента
class student(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
father_name = models.CharField(max_length=30)
dob = models.DateField()
image = models.ImageField(upload_to='images/', null=True)
phone_number = models.BigIntegerField()
email = models.EmailField(unique=True, null=True)
def __str__(self):
return self.first_name
Регистрация модели
from course.models import course
from student.models import student
class enroll(models.Model):
student = models.ForeignKey(student, on_delete=models.CASCADE)
course = models.ManyToManyField(course)
enroll_date = models.DateField()
enrolled_by = models.ForeignKey(User, on_delete=models.CASCADE)
fee_paid = models.BooleanField(default=False)
Просмотр регистрации
def create(request):
enrolled = enroll.objects
if request.method == 'POST':
if request.POST['student'] and request.POST['course']:
enrolled = enroll()
enrolled.student = request.POST['student']
enrolled.course = request.POST['course']
enrolled.enrolled_by = request.user
enrolled.save()
return redirect('/enroll/list')
else:
return render(request, 'enroll/create.html', {'error': 'All fields are requried.'})
else:
return render(request, 'enroll/create.html', {'enrolled':enrolled})
HTML-файл
<form class="needs-validation" novalidate method="POST" action="{% url 'enroll_create' %}" enctype="multipart/form-data" name="student_form">
{% csrf_token %}
<select class="form-control" name="student">
{% for enroll in enrolled.all %}
<option value="{{enroll.student.first_name}}" >{{enroll.student.first_name}} {{enroll.student.last_name}}</option>
{% endfor%}
</select>
<select class="form-control" name="course" >
{% for enroll in enrolled.all %
<option value="{{enroll.course.course_name}}" >{{enroll.course.course_name}}</option>
{% endfor%}
</select>
<button class="btn btn-primary btn-lg btn-block" type="submit">Register</button>
</form>
я получил только 1-е имя в списке имен и ничего в курсах