在为我学校的年鉴委员会编写一份申请时,我对建模一个特定的关系感到死路一条。目前,我有一个照片级构造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