我不知道从哪里开始。现在,用户可以按喜欢的次数,他们想要的,它只是加起来,总喜欢的推特。你知道吗
你知道吗型号.py你知道吗
class Howl(models.Model):
author = models.ForeignKey(User, null=True)
content = models.CharField(max_length=150)
published_date = models.DateTimeField(default=timezone.now)
like_count = models.IntegerField(default=0)
rehowl_count = models.IntegerField(default=0)
def get_absolute_url(self):
return reverse('howl:index')
def __str__(self):
return self.content
你知道吗视图.py你知道吗
class HowlLike(UpdateView):
model = Howl
fields = []
def form_valid(self, form):
instance = form.save(commit=False)
instance.like_count += 1
instance.save()
return redirect('howl:index')
Django Twitter克隆版。如何限制用户喜欢一条微博不止一次?你知道吗
除了跟踪一篇文章有多少个
Likes
外,您可能还想跟踪谁“喜欢”了每一篇文章。您可以通过在User
和Howl
上创建具有唯一键的联接表Likes
来解决这两个问题。你知道吗唯一键将防止任何
User
进行重复喜欢。你知道吗您可以在Django中使用^{} 来实现这一点,请注意,由于这意味着向
Howl
添加第二个User
关系,因此我们需要通过提供related_name
来消除关系的歧义例如:
like_count
计数就会变得多余,因为您可以改用Howl.liked_by.count()
。你知道吗这样做的另一个好处是,它允许您在添加
Like
-eg时存储有关它的信息。你知道吗改变了我的生活型号.py至
你知道吗视图.py你知道吗
你知道吗索引.html你知道吗
一个想法是在表中添加一个名为
likers
的列,然后在像\u counts这样递增之前检查模特。喜欢的人是否包含新的liker。如果不增加喜欢,如果是不相关问题 更多 >
编程相关推荐