簡體   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