Vis*_*rma 2 python django django-rest-framework
我正在使用 DRF 为博客创建喜欢/不喜欢 api。我有喜欢表,其中包含“帖子”、“用户”和“isLike”字段。由于 Django 不能有复合键,因此我对(“Post”和“User”)使用 unique_together 约束。
如果用户喜欢某个帖子,我会在“喜欢”表中创建一个条目。现在,如果用户想要从帖子中删除他的“喜欢”或想要不喜欢该帖子,我需要这些(PUT/DELETE)方法的“Like”表中的条目主键。由于我知道“User”和“Post”,并且由于两者都是唯一的,因此我可以使用唯一字段执行(PUT/DELETE)方法吗?
模型类
class LikeDislike(models.Model):
"""model for like counts"""
post = models.ForeignKey(Post, on_delete=models.CASCADE)
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
isLike = models.BooleanField()
class Meta:
unique_together = (("post", "user"),)
Run Code Online (Sandbox Code Playgroud)
在 Like 表中创建条目的视图:
class LikeDislikeCreateView(generics.CreateAPIView):
queryset = models.LikeDislike.objects.all()
serializer_class = serializers.LikeDislikeSerializer
def perform_create(self, LikeDislikeSerializer):
LikeDislikeSerializer.save(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)
我可以使用 -> /like/primary-key/ 更新喜欢/不喜欢,但我想使用“帖子”和“用户”详细信息。
| 归档时间: |
|
| 查看次数: |
1764 次 |
| 最近记录: |