Django基于公共密钥获取和

Django基于公共密钥获取和,django,django-models,django-orm,Django,Django Models,Django Orm,我有以下两种型号 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):

我有以下两种型号

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)
现在我想连接这两个表,这样我就有了来自
TeacherInfo
name
assigned\u count
corrected\u count

通常,对于一名教师,我会:

AssignedSheetStatus.objects.filter(teacher__id=teacher_id).aggregate(Sum('assigned_count'), Sum('corrected_count'))
但是在这里,我想让
TeacherInfo
中的所有老师都知道这一点


实现这一目标的最佳方法是什么?

你可以用另一种方法。教师信息上方的注释:

TeachInfo.objects.annotate(Sum('assignedshetsstatus__assigned_count'), Sum('assignedsheetstatus__corrected_count'))

使用
注释
可能比使用
聚合
更好?我的答案对您有帮助吗?如果是,请接受。