在爲我學校的年鑑委員會編寫一份申請時,我對建模一個特定的關係感到死路一條。目前,我有一個照片級構造Django多對多關係
class Photo(models.Model):
photo = models.ImageField(upload_to="user_photos/")
name = models.CharField(blank=True, max_length=50)
rating = models.IntegerField(default=1000)
wins = models.IntegerField(default=0)
matches = models.IntegerField(default=0)
和用戶類
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
group = models.CharField(max_length=50)
它們都順順當當工作。我想要做的是分解它,以便照片將具有來自整個用戶羣的投票的全局評級以及僅基於該照片上的用戶投票的評級。不幸的是,我對如何構建這個問題感到不知所措。我首先想到的是一個多對多的領域,但我也想,像破評級爲自己的模式是這樣的:
class Rating(models.Model)
photo = models.ManyToOne(Photo)
rating = models.IntegerField(default=1500)
可以工作。
難道一個Django(或者真的,任何稍微有能力的人,因爲我知道我不是)大師指出我正在接近這個簡單難題的正確方向嗎?
>這種方法很幼稚,並且不會很好地擴展 我認爲這樣做很多,但現在用戶基數很小,這是用於A/B測試的,所以現在擔心這一點可能爲時過早。現在我有我的模型的方式現在借用穿透表和ManyToMany,但也有一個globalRating類似於您建議w/cron工作的字段。 在網站上,用戶投票選擇哪張照片更好,他們的評分是使用調整後的Elo公式進行調整的,但用戶希望看到他們的評分與整個用戶羣的評分相比,因此我的問題 – 2010-10-21 20:20:24