gpt4 book ai didi

python - Django Rest Framework 在序列化程序中获取用户

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

我可以在我的序列化程序中获取用户吗?

例如我有这个序列化器:

serializers.py

class ClientSearchSerializer(serializers.ModelSerializer):

client = serializers.SlugRelatedField(
many=False,
queryset=Client.objects.filter(user=????),
slug_field='id'
)

我可以从 SlugRelatedField 过滤我的查询集吗?

最佳答案

CurrentUserDefault 应该适合您。

文档:http://www.django-rest-framework.org/api-guide/validators/#currentuserdefault

请注意:

In order to use this, the 'request' must have been provided as part of the context dictionary when instantiating the serializer.

如果您正在使用 ModelViewSet 或任何采用 serializer_class 并自动为您初始化的 View / View 集,那么您不必担心。

代码示例:

from rest_framework.fields import CurrentUserDefault

class ClientSearchSerializer(serializers.ModelSerializer):

client = serializers.SlugRelatedField(
many=False,
queryset=Client.objects.filter(user=CurrentUserDefault()),
slug_field='id'
)

关于python - Django Rest Framework 在序列化程序中获取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613293/

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