相关疑难解决方法(0)

带有序列化程序的 Django REST 框架 CurrentUserDefault()

我一直在尝试为我的模型添加一个“所有者”字段。我已经看过其他问题,但我仍然没有运气。理想情况下,当创建新笔记时,当前用户将设置在所有者字段中并且不可更改。

下面是我的模型、序列化程序和就我所知的 Note 视图。我猜 CurrentUserDefault() 函数需要额外的上下文,但我无法正确设置它。

视图.py

class NoteListCreateView(ListCreateAPIView):
    authentication_classes = (SessionAuthentication, TokenAuthentication)
    permission_classes = (DjangoModelPermissions,)
    lookup_field = 'pk'
    serializer_class = serializers.NoteSummarySerializer

    def get_queryset(self):
        qs = Note.objects.all()
        # general search
        query = self.request.GET.get('search')
        if query is not None:
            qs = qs.filter(
                Q(title__icontains=query) |
                Q(content__icontains=query)
            ).distinct()
        # title search
        query = self.request.GET.get('title')
        if query is not None:
            qs = qs.filter(title__icontains=query)
        # content search
        query = self.request.GET.get('content')
        if query is not None:
            qs = qs.filter(content__icontains=query)
        return qs
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class NoteSummarySerializer(serializers.ModelSerializer):
    owner = …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework python-3.7

4
推荐指数
1
解决办法
4060
查看次数

标签 统计

django ×1

django-rest-framework ×1

python-3.7 ×1