我有一个Django Rest框架项目,用户可以发布,评论任何帖子,喜欢任何帖子。我无法理解models.py中的逻辑
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=100)
body = models.CharField(max_length=100)
post_author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='posts')
def __str__(self):
return self.title
class Comment(models.Model):
body=models.CharField(max_length=100)
commet_post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')
comment_author = models.ForeignKey(User,on_delete=models.CASCADE)
def __str__(self):
return self.body
class Like(models.Model):
like_post = models.ForeignKey(Post,on_delete=models.CASCADE)
like_author=models.ForeignKey(User,on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)发布于 2020-04-22 18:58:37
您可以为如下操作创建两个端点: 1)用于创建,2)用于删除。每当有人点击like按钮时,它就会点击create endpoint并创建一个Like对象。当有人点击不同的,它将命中删除端点并删除对象。Like模型将与用户和帖子模型有一对一的关系。您可以通过如下查询来计算点赞数:Like.objects.filter(like_post=post.id).aggregate(Count('pk'))
https://stackoverflow.com/questions/61363207
复制相似问题