【问题标题】:Building a django queryset over foreign key and onetoone通过外键和 onetoone 构建 django 查询集
【发布时间】:2017-01-02 07:43:40
【问题描述】:

我有一些与用户相关的两个模型(在不同的应用程序/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 with an argument

【问题讨论】:

    标签: python django postgresql foreign-keys django-queryset


    【解决方案1】:

    未测试。也许你应该试试

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

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 2021-09-27
      • 2015-03-09
      • 1970-01-01
      • 2012-11-18
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      相关资源
      最近更新 更多