繁体   English   中英

在外键和一对一的基础上构建Django查询集

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM