0
新手問題。我有看起來像這樣的Django模型:Django新手問題:獲取關聯ForeignKey的計數,條件是ForeignKey表中的字段?
class Video(models.Model):
uploaded_by = models.ForeignKey('VideoUser')
problem_video = models.BooleanField(default=False)
class VideoUser(models.Model):
name = models.CharField(max_length=250)
def num_videos(self):
num_videos = Video.objects.filter(uploaded_by=self, problem_video=false).count()
return num_videos
而且我希望能夠產生誰已經上傳至少一個非問題視頻用戶的排行榜,以非問題的影片數量排序他們已上傳。
我可以通過annotate
獲得部分路徑 - 我可以生成一個有序列表,但我不知道如何使條件爲problem_video
字段爲False。
leaderboard = VideoUser.objects. \
.annotate(num_submissions=Count('videosubmission')) \
.filter(num_submissions__gt=0).order_by('-num_submissions')
任何人都可以建議如何擴展這個也考慮到problem_video
領域嗎?也許我需要一個橋接表...?
似乎工作...謝謝! – AP257 2010-04-07 20:12:08