Несколько значений в выпадающем списке для аннотации, а затем сохранить в другой таблице, которая является studentsession,.....Поле 'id' ожидало число, но получило ''.

Ошибка здесь в том, что я пытаюсь получить lecturersession из этой таблицы и затем заполнить studentsession, но у меня есть несколько значений для lecturersession, каждый лектор должен зарегистрировать свою собственную сессию, чтобы студент также был зарегистрирован для сессии, пожалуйста, правильно ли я делаю или нет, должен ли я заполнить ее непосредственно из источника, где таблица сессий

my views.py

 class StudentSessionRegistration(View):
    def get(self, request, *args, **kwargs):
       student = Students.objects.get(admin=request.user)
       session = 
       LecturerSession.objects.values('lecturersession').
       annotate(Count('lecturersession')).order_by()

       context = {
        'session': session
       }
       return render(request, 'superadmin/student/add-session.html', context)

   def post(self, request, *args, **kwargs):
       student = request.POST.get('student')
       student = Students.objects.get(admin=request.user.id)
       session = request.POST.get('studentsession')
       session = LecturerSession.objects.get(id=session)

       if StudentSession.objects.filter(student=student, 
         studentsession=session).exists():
        messages.error(request, f'Hello {request.user.username}! Your Session is 
         already registered')
        return HttpResponseRedirect(reverse('emisapp:student-session-registration'))

   
    if not session:
        messages.error(request, 'Please select session')
        return HttpResponseRedirect(reverse('emisapp:student-session-registration'))
    try:
        StudentSession.objects.create(student=student, studentsession=session)
        messages.success(request, "Student Session Registration Successfully")
        return HttpResponseRedirect(reverse('emisapp:student-session-registration'))
    except:
        messages.error(request, "Error while saving Student Session Registration")
        return HttpResponseRedirect(reverse('emisapp:student-session-registration'))

шаблон

        <div class="form-group">
                <label>Select Faculty</label>
                <select name="studentsession" id="studentsession" required 
          class="form-control">
                  <option value="{{s.id}}">--Select a Session--</option>
                  {% for s in session %}
                    <option value="{{s.id}}">{{ s.slug }}</option>
                  {% endfor %}
                </select>
              </div>   

Models.py

 class LecturerSession(models.Model):
    id = models.AutoField(primary_key=True)
    lecturer = models.ForeignKey('Lecturers', 
    related_name='lecturersession',null=True, on_delete=models.CASCADE)
    lecturersession = models.ForeignKey(SessionYearModel, 
    related_name='lecturersession',null=True, on_delete=models.CASCADE)
    slug = models.SlugField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = models.Manager()

    def __str__(self) -> str:
       return str(self.lecturersession)

    def save(self, *args, **kwargs):
       self.slug = slugify(self.lecturersession)
       super(LecturerSession, self).save(*args, **kwargs)
Вернуться на верх