0
我有一個項目,由oauth2_provider.ext.rest_framework.OAuth2Authentication
進行驗證。請求頭中有一個令牌用於驗證和識別。我認爲在處理創建操作時,我不應該在請求數據中明確包含用戶標識。但是序列化器需要用戶信息來創建一個新的實例。所以我在序列化程序中包含了一個user_id字段,並在驗證後將該值寫入request.data
字典。如何使用請求數據將用戶標識傳入序列化程序?
好嗎?有沒有更好的方法?
serializers.py
class serializer(serializers.Serializer):
user = UserSerializer(read_only=True)
user_id = serializers.UUIDField(write_only=True)
content = serializers.CharField()
views.py
class CommentList(generics.ListCreateAPIView):
def create(self, request, *args, **kwargs):
request.data['user_id'] = request.user.id
return super(CommentList, self).create(request)
我覺得serializer中的self.request.user應該是self.context ['request']。user' – Guinner