我想在我的数据库中创建一个表来存储用户分数(就像SO一样)。我发现了这篇文章How do I record daily rankings for a model in Django?,即使它正是我需要的,我也无法获得可接受的解决方案。
我在创建合适的模型时遇到问题。
class Rank(models.Model):
class Meta(object):
unique_together = (("date", "user"))
date = models.DateField(db_index=True, default=datetime.now())
user = models.OneToOneField(User)
value = models.IntegerField(default=1)
def value1(self):
try:
x = self.user.userprofile.get_point() #reference a function in another model
except:
x = 1
return x
虽然我需要像
这样的东西User/date: Date1| Date2 | Date3 .....
user1: 15 | 16 | 17.....
user2: 2 | 6 | 12.....
数字表示点数,Date1
表示01.01.2017,依此类推。我正在使用PostgreSQL。
请不要回答"只需使用ManyToManyField" 或类似的。我想了解这个主题,一些细节值得赞赏。