[英]Building a django queryset over foreign key and onetoone
我有一些与User相关的模型(在不同的apps / models.py文件中):
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, null=False)
...
class CourseStudent(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
semester = models.ForeignKey(Semester)
...
我正在尝试获取本学期至少有一门课程的所有配置文件的查询集。
如何生成个人档案的查询集,其中profile.user
至少具有一个CourseStudent
实例,并对其进行过滤以使coursestudent.semester=current_semester
?
由于一个学生本学期可能有多门课程,因此也需要删除重复项(仅在查询集中具有唯一配置文件)
编辑:我正在使用postgresql,并试图弄清楚是否需要使用带有参数的distinct 。
未经测试。 也许你应该尝试
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, null=False)
...
class CourseStudent(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="course_student")
semester = models.ForeignKey(Semester)
Profile.objects.filter("what_you_want").exclude(user__courser_student=None).distinct()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.