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进行评论。这是我的第一个项目,我不确定我建立的数据库。