Регистрация сообщений пользователя как времени
Я создаю простой BlogApp и пытаюсь record user like post time
.
Я создал поле с именем like_time
Но проблема в том, что когда user_1
нравится пост, время записывается, но когда user_2
нравится, время сбрасывается user_1
, Но я пытаюсь хранить разное время разных пользователей
models.py
class BlogPost(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length-300)
likes = models.ManyToManyField(User, related_name='likes')
body = models.CharField(max_length=300)
like_time = models.DateTimeField(auto_now=True)
views.py
def blog_post_like(request, blogpost_id):
post = get_object_or_404(BlogPost, pk=blogpost_id)
if request.user not in post.likes.all():
post.likes.add(request.user)
post.like_time = timezone.now()
post.save()
return JsonResponse({'disp':'success'})
Проблема :-
Он сбрасывает каждый раз для каждого пользователя в одном и том же посте, но я пытаюсь сохранить разное время для разных пользователей, например :-
user_1 - liked time - 40 seconds ago
user_2 - liked_time - 30 seconds ago
Любая помощь будет очень признательна. Спасибо.
Вместо того, чтобы объявлять связь между Likes и BlogPost, попробуйте объявить ее в модели Like.
class Like(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
blogPost = models.ForeignKey(BlogPost, on_delete=models.CASCADE)
like_time = models.DateTimeField(auto_now=True)