使用多个日期在DB中保存用户进度。

时间:2017-08-09 15:13:07

标签: python django postgresql

我想在我的数据库中创建一个表来存储用户分数(就像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

但这给了我一个这样的结构:enter image description here

虽然我需要像

这样的东西
User/date: Date1|  Date2  | Date3 .....

user1:       15  |   16    |  17.....

user2:        2  |   6     |  12.....

数字表示点数,Date1表示01.01.2017,依此类推。我正在使用PostgreSQL。

请不要回答"只需使用ManyToManyField" 或类似的。我想了解这个主题,一些细节值得赞赏。

0 个答案:

没有答案