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'))
使用
注释
可能比使用聚合
更好?我的答案对您有帮助吗?如果是,请接受。