我想将登录用户的用户名从ListCreateAPIView传递到ModelSerializer,以使用与客户端模型相同的PrimaryKey对象作为默认值,但我不明白如何正确地做到这一点。
在views.py:
class CartAPIList(generics.ListCreateAPIView):
queryset = Clientcarts.objects.all()
serializer_class = CartSerializer
permission_classes = (IsAuthenticatedOrReadOnly, )
在serializers.py: class CartSerializer(serializers.ModelSerializer):
client_id = serializers.HiddenField(default=Clients.objects.get(pk="username"))
class Meta:
model = Clientcarts
fields = '__all__'
你们能帮帮我吗?
将context = {'user': request.user}
作为参数传递到views.py
文件的序列化器类中
则可以在serializers.py
文件中使用CartSerializer
中的上下文值:
user = serializers.SerializerMethodField()
def get_user(self, obj):
user = self.context.get('user')
return user