У меня есть следующие две модели.Django получить сумму на основе общего ключа
class TeacherInfo(models.Model):
name = models.CharField(max_length=200)
school_id = models.ForeignKey('admin_app.School')
timestamp = models.DateTimeField(auto_now=True, blank=True)
class AssignedSheetStatus(models.Model):
level = models.ForeignKey('admin_app.Levels')
subject = models.ForeignKey('admin_app.Subject')
set = models.ForeignKey('admin_app.Set')
teacher = models.ForeignKey('teacher.TeacherInfo')
assigned_count = models.PositiveIntegerField(default=0)
corrected_count = models.PositiveIntegerField(default=0)
timestamp = models.DateTimeField(auto_now_add=True)
Теперь я хочу присоединиться эти две таблицы так, что у меня есть name
из TeacherInfo
и суммы assigned_count
, corrected_count
.
Обычно для одного учителя я хотел бы сделать:
AssignedSheetStatus.objects.filter(teacher__id=teacher_id).aggregate(Sum('assigned_count'), Sum('corrected_count'))
Но здесь я хочу это для всех учителей в TeacherInfo
.
Каков наилучший способ достичь этого?
Помог ли мой ответ? Если да, то согласитесь, пожалуйста. – ilse2005