Python django修改数据库对象

Python django修改数据库对象,python,django,templates,models,Python,Django,Templates,Models,我正在开发考勤管理系统。我想修改学生的出勤率 class Subject(models.Model): subject_name = models.CharField(max_length=20) #attendance = models.ForeignKey(Attendance, on_delete = models.DO_NOTHING) attendance = models.IntegerField(default=0) def __str__(self

我正在开发考勤管理系统。我想修改学生的出勤率

class Subject(models.Model):
    subject_name = models.CharField(max_length=20)
    #attendance = models.ForeignKey(Attendance, on_delete = models.DO_NOTHING)
    attendance = models.IntegerField(default=0)
    def __str__(self):
        return self.subject_name


class Section(models.Model):
    section_name = models.CharField(max_length=20)
    subject = models.ManyToManyField(Subject)
    def __str__(self):
        return self.section_name


class Student(models.Model):
    rollno = models.IntegerField()
    name = models.CharField(max_length=20)
    section = models.ForeignKey(Section, on_delete = models.DO_NOTHING, default=0)
    def __str__(self):
        return str(self.rollno) + self.name 
这是我的模板。(Student.html)

{%for i in data%}
{{i.rollno}
{{i.name}
{%endfor%}

在模板中使用.get()方法时出错。我想通过点击按钮来增加(+1)个出席人数。

我强烈建议通过。您将学习Django MVC概念,并能够轻松实现您的要求。下面的代码将帮助您开始

视图.py

def increment_attendance(request, subject_id):
  """Increment Attendance for a Subject"""

    subject = Subject.objects.get(id=subject_id)
    # check if record exists
    if not subject:
        raise Http404("Invalid subject_id")

    # can also use only get_object_or_404(Subject, pk=subject_id)

    # increment attendance
    subject.attendance += 1
    # save / commit to database
    subject.save()

    # redirec to 'some' page or previous page?
    return redirect('top')
  path('subject/<int:day>/increment_attendance', views.increment_attendance, name='increment_attendance')
将此路径添加到您的URL.py

def increment_attendance(request, subject_id):
  """Increment Attendance for a Subject"""

    subject = Subject.objects.get(id=subject_id)
    # check if record exists
    if not subject:
        raise Http404("Invalid subject_id")

    # can also use only get_object_or_404(Subject, pk=subject_id)

    # increment attendance
    subject.attendance += 1
    # save / commit to database
    subject.save()

    # redirec to 'some' page or previous page?
    return redirect('top')
  path('subject/<int:day>/increment_attendance', views.increment_attendance, name='increment_attendance')
path('subject//increment\u attention',views.increment\u attention,name='increment\u attention')
模板

  <a class="btn btn-danger" id="{{i.rollno}}" href="{% url 'increment_attendance' subject_id=subject_id" %}"></a>


但在模板中根本无法做到这一点,即使撇开语法问题也不行。像这样的事情必须在视图中完成。谢谢您的回复。请帮帮我。什么应该传递给视图作为参数,如何传递?我是django的新手@DanielRosemanThanks@Zekoi。请您对我的models.py进行评论。这是我的第一个项目,我不确定我建立的数据库。