gpt4 book ai didi

python - 没有主键如何进行PUT请求?

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:21 25 4
gpt4 key购买 nike

我正在使用 DRF 为博客创建一个喜欢/不喜欢 api。我有 Like 表,其中包含“Post”、“User”和“isLike”字段。由于 Django 不能有复合键,我使用 unique_together 约束(“Post”和“User”)。

如果用户喜欢某个帖子,我会在 Like 表中创建一个条目。现在,如果用户想从帖子中删除他的喜欢或不喜欢该帖子,我需要这些(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"),)

在 Like 表中创建条目的 View :

class LikeDislikeCreateView(generics.CreateAPIView):
queryset = models.LikeDislike.objects.all()
serializer_class = serializers.LikeDislikeSerializer

def perform_create(self, LikeDislikeSerializer):
LikeDislikeSerializer.save(user=self.request.user)

我可以使用 ->/like/primary-key/更新喜欢/不喜欢,但我想使用“帖子”和“用户”详细信息。

最佳答案

当然,你可以 - 这只是覆盖 get_object() 的问题适本地在您的 View 中使用与 PK 不同的参数检索要修改或删除的对象。

关于python - 没有主键如何进行PUT请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57849475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com