在外键和onetoon上构建Django查询集

2024-09-27 18:08:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个模型(在不同的应用程序中)/型号.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 with an argument。你知道吗


Tags: 模型auth应用程序modelsettingsmodels配置文件class
1条回答
网友
1楼 · 发布于 2024-09-27 18:08:44

未测试。也许你应该试试

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()

相关问题 更多 >

    热门问题