некоторые поля не сохраняются в моделях django - PullRequest
0 голосов
/ 05 июля 2019

Я вставляю новые записи в модель с использованием функционального представления, но проблема в том, что некоторые поля не сохраняются.

Я получаю все поля через request.POST.get(field_name) и присваиваю их переменной перед сохранением в соответствующем поле модели.

views.py

def CreateExam(request):
    if request.method == "POST":
        st_exam = exam()
        topic = request.POST.get("topic")
        auth = request.POST.get("author")
        date_now = request.POST.get("date_now")
        st_exam.topic = request.POST.get("topic")
        st_exam.auth = request.POST.get("author")
        st_exam.date = date_now
        st_exam.total_grade = request.POST.get("total_grade")
        st_exam.semester_id = request.POST.get("semester")
        st_exam.exam_id = auth[0:2] + topic[0:2] + date_now
       # st_exam.course = request.POST.get("course")
        y = datetime.now()
        st_exam.semester_id = str(y.year) +'-'+request.POST.get("semester")
        st_exam.save()
        return redirect('/teacher/')
    else:
        return render(request, '500.html', {"error": "Ooops Illegal access"})

models.py

class exam(models.Model):
     exam_id = models.CharField(max_length=40,null=True)
     date = models.CharField(max_length=40,null=True)
     total_grade = models.FloatField(null=True)
     author= models.CharField(max_length=40,null=True)
     topic = models.CharField(max_length=40,null=True)
     course = models.CharField(max_length=40,null=True)
     semester_id = models.CharField(max_length=40,null=True)

template.html

<form method="post" action="/teacher/create/exam/">
  {% csrf_token %}
  <div class="form-group col-md-8">
    <label for="topic">Topic</label>
    <input type="text" name="topic" class="form-control" id="topic"/>
  </div>
  <div class="form-group col-md-8">
    <label for="grade">Author</label>
    <input type="text" name="author" class="form-control" id="author"/>
  </div>
  <div class="form-group col-md-8">
    <label for="date">Date</label>
    <input type="date" name="date_now" class="form-control" id="date"/>
  </div>
  <div class="form-group col-md-8">
    <label for="grade">Course</label>
    <input type="text" name="course" class="form-control" id="grade"/>
  </div>
  <div class="form-group col-md-8">
    <label for="grade">grade</label>
    <input type="number" name="total_grade" class="form-control" id="grade"/>
  </div>
  <div class="form-group col-md-8">
    <label for="cat">Semester </label>
    <select name="semester"  class="form-control">
      <option value="1"> Semester 1</option>
      <option value="2"> Semester 2</option>
    </select>
  </div>
  <button type="submit"
    class="btn btn-primary m-t-15 waves-effect">Save
  </button>
</form>

Я ожидаю, что все поля будут сохранены, но поле автора не будет сохранено

1 Ответ

0 голосов
/ 05 июля 2019

изменить st_exam.auth на st_exam.author

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