python - 记录用户的帖子喜欢时间
问题描述
我正在构建一个简单的 BlogApp,我正在尝试record user like post time
。我创建了一个名为like_time
但问题是当user_1
喜欢帖子而不是记录时间但是当user_2
喜欢比它重置user_1
时间时,但我试图存储不同用户的不同喜欢时间。
模型.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)
视图.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)
推荐阅读
- scala - 如何从控制台中删除 ASCII Spark Banner?
- php - 当未选中复选框时,我想显示数据库中的所有数据
- javascript - 具有放大缩放效果的无限旋转木马
- typescript - TypeScript 元组条件比较总是计算为 false
- reactjs - React 16 / Router V4中显示抽屉时如何覆盖后退按钮
- php - 如何修复 Yii2 中的“子目录中的静态页面”问题
- qt - 如果没有可用的模型数据,我可以用 Image 替换 SimpleRow
- php - 返回最小的正整数
- shell - 并行化脚本外壳的一部分
- opengl - OpenGL - 通过表面渲染隧道?