Django как система
Я делаю проект блога, но у меня проблема, я делаю систему лайков на блоге, но она выдает ошибку
def like_post(request):
user=request.user
if request.method=='POST':
post_id=request.POST.get('post_id')
post_obj= Post.objects.get(id=post_id)
if user in post_obj.liked.all():
post_obj.liked.remove(user)
else:
post_obj.liked.add(user)
like,created=Like.objects.get_or_create(user=user,post_id=post_id)
if not created:
if like.value=='Like':
like.value='Unlike'
else:
like.value='Like'
like.save()
return reverse('main:post_detail')
path('blog/like', views.like_post, name='like-post'),
class Post(models.Model): liked = models.ManyToManyField(User, default=None, blank=True, related_name='liked')
LIKE_CHOICES = (
('Like', 'Like'),
('Unlike', 'Unlike')
)
class Like(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
value = models.CharField(choices=LIKE_CHOICES, default='Like', max_length=10)
date_liked = models.DateTimeField(default=timezone.now)
def __str__(self):
return str(self.post)
<form action="{% url 'main:like-post' %}" method="POST">
{% csrf_token %}
<input type="hidden" name="post_id" value='{{post.id}}'>
<button class="btn btn-primary" type="submit"> Like</button>
<br>
<strong>{{ post.liked.all.count }} Likes</strong>
</form>
Это ошибка, которую я получил.