我正在尝试将更新和销毁视图添加到此视图。但问题是我知道如何使用基于函数的视图来实现这一点,我在这里使用的是基于类的视图。 views.py
class UpdatePostView(generics.RetrieveUpdateDestroyAPIView): permission_classes = [permissions.IsAuthenticated] serializer_class = PostSerializer queryset = Post.objects.all() lookup_field = 'id'
serializers.py
```
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = 'all'
问题1:任何用户都可以删除或更新其他用户的任何帖子
问题2:在更新方法中有一个更新用户的选项
{
"id": 2,
"title": "Post 1",
"image": null,
"user": 3
}
我试图尽可能地将这些视图保持为基于类的视图,以减少代码行
编辑:问题1已修复
1条答案
按热度按时间lrl1mhuk1#
我们可以覆盖
get_queryset
而不是queryset = Post.objects.all()
.在updatepostview类中
还是继续使用
queryset=
```queryset = Post.objects.all()
def get_queryset(self):
return super().get_queryset().filter(user=self.request.user)