【发布时间】:2020-10-13 18:55:32
【问题描述】:
我这里有两个模型,一个包含主题信息,另一个包含课程信息,我想总结这门课程有多少学分(总),以显示在模板中。我试过但没有用。 非常感谢
class Course(models.Model):
name = models.CharField(max_length=200, unique=True)
prefix = models.CharField(max_length=20)
code = models.CharField(max_length=20)
subject = models.ManyToManyField('Subject', related_name='subject_list', blank=True)
def tota_credit(self):
total = 0
for cred in self.subject_set.all():
total += cred.credit
return total # doesn't work :(
def __str__(self):
return self.name
另一个模型
class Subject(models.Model):
name = models.CharField(max_length=50)
code = models.PositiveIntegerField(unique=True)
credit = models.IntegerField(blank=True)
def __str__(self):
return self.name
views.py
class Course_detail(generic.DetailView):
model = Course
template_name = 'course_detail.html'
context_object_name = 'queryset'
def get_context_data(self, **kwargs):
self.profile = Student.objects.all()
context = super().get_context_data(**kwargs)
context['profile'] = self.profile
return context
【问题讨论】:
-
究竟是什么不起作用?
-
只需要课程的总学分例如:一门课程包含五个科目,所以会有5个不同的学分没有,比如2,3,5,我想要总= 10,我怎么能有这笔钱
标签: python django django-models django-views django-templates