我环顾四周,没有看到任何涉及我问题的内容。
我现在刚接触Django,并通过AJAX get请求使用“喜欢”按钮,按下按钮后按钮消失。但是当你刷新页面时它会重新出现。
现在“喜欢”是名为Category class的模型中的值:
Category(models.Model):
name = models.CharField(max_length=128, unique=True)
views = models.IntegerField(default=0, unique=False)
likes = models.IntegerField(default=0)
我理解我在模板方面所做的事情,但我不知道如何管理用户是否已经喜欢的东西。我是否需要在我的某个模型中添加某些内容,还是有更好的方法?
答案 0 :(得分:0)
问题是你不是存储每个用户的喜欢,只是任何人对页面的喜欢的原始计数,这意味着用户可以更喜欢它因为没有办法知道他们已经喜欢它了。
考虑这样的事情:
Category(models.Model):
name = models.CharField(max_length=128, unique=True)
views = models.IntegerField(default=0, unique=False)
fans = models.ManyToManyField(User)
然后,页面的匹配数量只有category_item.fans.count()
,您可以轻松检查User
是否在fans
的集合中,并相应地添加或删除它们。