我一直在尝试为我的模型添加一个“所有者”字段。我已经看过其他问题,但我仍然没有运气。理想情况下,当创建新笔记时,当前用户将设置在所有者字段中并且不可更改。
下面是我的模型、序列化程序和就我所知的 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)