【发布时间】:2019-11-11 18:53:07
【问题描述】:
我目前是Django 的初学者。 我想在我的这种发帖类型的应用中限制每个帖子一个赞,您可以在其中发布文本,用户可以喜欢或不喜欢相同的内容。现在我启用了登录,我希望登录的用户只喜欢一次帖子,但我没有成功。
Models.py
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Todo(models.Model):
text = models.CharField(max_length=100)
complete = models.BooleanField(default=False)
like=models.IntegerField(default=0)
user = models.ForeignKey(User)
def __str__(self):
return self.text
观看次数,py
def like(request,todo_id):
if Todo.objects.filter(todo_id = todo_id, user_id=request.user.id).exists():
return redirect('index')
else:
todo = Todo.objects.get(pk=todo_id)
todo.like += 1
todo.save()
return redirect('index')
【问题讨论】:
-
您是否考虑过创建另一个模型,其中您将拥有 Todo 和 User 模型作为 FK?这样您就可以跟踪哪个用户喜欢哪个 Todo。
标签: python django django-models django-forms django-views