我有一個Django應用程序,用戶登錄,設置各種主題,然後在所述主題下留下評論。下面的模型反映了這一基本的設立:具有挑戰性的Django查詢集構造
class Topic(models.Model):
topic_text = models.TextField()
submitted_on = models.DateTimeField(auto_now_add=True)
class Comment(models.Model):
comment_text = models.TextField()
which_topic = models.ForeignKey(Topic)
submitted_by = models.ForeignKey(User)
submitted_on = models.DateTimeField(auto_now_add=True)
對於每一個用戶,我試圖讓所有主題,其中的最近的5條評論任何一個被寫入用戶。換句話說,如果用戶沒有在主題最近的5條評論中評論,該主題將被排除在查詢集之外。
那麼我該如何去組建這個查詢集呢?順便說一句,我會告訴你我已經嘗試了什麼,但它是不足夠的,顯然是錯誤的。有人可以幫忙嗎?
我覺得沒有意義要儘量選擇在此用戶評論,僅主題如果評論在前5名之內,儘管可能使用嵌套查詢。相反,我寧願選擇這個用戶評論的主題,然後通過代碼中評論的位置(和緩存,因爲它很重)來過濾它們。 –
我同意。這是*,然後通過評論*部分的位置進行過濾,我發現幾乎不可能將我的頭包裹起來。 –