как хранить переменную условного оператора в django модели? - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь сохранить manage_quota и govt_quota для моей модели choice_filling, но ошибка говорит о том, что вышеуказанные переменные не определены. как мне сохранить эти значения в базе данных?

вот мой views.py (обновлено)

def seat_info(request):
    if request.method == "POST":
        institute_code = request.POST['institute_code']
        seats = request.POST['seates']
        # s75 = int(seats) * 75 / 100
        s25 = int(seats) * (25 / 100)
        # s25 = int(float(seats) * (25.0 / 100.0))
        print("25% is ", s25)

        mq = request.POST['manage_quota']
        mq15 = int(float(s25) * (15.0 / 100.0))
        print("15% is ", mq15)
        # mq = float(mq) / 15.0
        if float(mq) > 15.0:
            return HttpResponse('not allowed')
        manage_quota = int(s25 * float(mq)/100)
        gov = request.POST['govt_quota']
        gov10 = int(float(s25) * (10.0 / 100.0))
        # gov = float(gov) / 10.0
        print("10% is ", gov10)
        if float(gov) > 10.0:
            return HttpResponse('not allowed')
        govt_quota = int(s25 * float(gov)/100)
        clg_id = request.POST['clg_id']
        fees = request.POST['fees']
        course = request.POST['course']
        s = seat_metrix(clg_id_id=clg_id, code=institute_code, total_seats=seats,
                        course_id=course, manage_quota=manage_quota, govt_quota=govt_quota, fees=fees)
        s.save()
        return redirect('college-dashboard')
    strm = streams.objects.all()
    title = "Seat Information"
    page = "Seat Registration"
    return render(request, 'seat_info.html', {'strm': strm, 'title': title, 'page': page})

И теперь при обнаружении ошибки (Update) я сталкиваюсь с этой ошибкой.

 Internal Server Error: /admission/seat-info
    Traceback (most recent call last):
      File "C:\Users\Dell\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
        response = get_response(request)
      File "C:\Users\Dell\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response

        response = self.process_exception_by_middleware(e, request)
      File "C:\Users\Dell\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response

        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "C:\Users\Dell\PycharmProjects\AdmissionSystem\Admission\users\views.py", line 378, in seat_info
        course_id=course, govt_quota=govt_quota, manage_quota=manage_quota, fees=fees)
    UnboundLocalError: local variable 'govt_quota' referenced before assignment

Обновление:

проблема решена! я знаю, что это грязное исправление, но оно работает нормально

это выполнит работу

if float(gov) > 10.0:
            return HttpResponse('not allowed')
        govt_quota = int(s25 * float(gov)/100)

я обновил мои views.py

...