傳遞額外的數據,但無法這樣做。下面是我的代碼 views.py傳遞額外的數據,而通過串行器Django休息框架
device_id = request.META.get('HTTP_DEVICE', '')
user_data = request.data
serializer = UserSerializer(data=user_data)
我想與USER_DATA通過設備ID爲好。我試過一本字典,但沒有收到數據。建議語法
傳遞額外的數據,但無法這樣做。下面是我的代碼 views.py傳遞額外的數據,而通過串行器Django休息框架
device_id = request.META.get('HTTP_DEVICE', '')
user_data = request.data
serializer = UserSerializer(data=user_data)
我想與USER_DATA通過設備ID爲好。我試過一本字典,但沒有收到數據。建議語法
您的問題缺乏關於您的模型聲明或序列化的任何實質細節。但是,這仍然看起來錯了。你不應該這樣做。
相反,你的模型應該是這樣的
class User(model):
# declarations of id, account_name, HTTP_DEVICE, etc.
然後你的序列化,
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'HTTP_DEVICE', 'account_name')
然後,串行器將所有這些領域。
我已經得到了你所說的一切,只需要知道如何將user_data中的device_id傳遞到序列化程序。試過這樣的字典,但它沒有奏效。 queryset = {'user_data':request.data,'device_id':request.META.get('HTTP_DEVICE','')} –
你可以通過上下文來你的序列化,如:像你的validate方法
serializer = UserSerializer(data=request.data, context={'YOUR_CONTEXT': CONTEXT_OBJ})
然後得到它:
def validate(self, data):
CONTEXT_OBJ = self.context.get('YOUR_CONTEXT')
...
我希望這可幫你!
祝你好運!
請發佈您的UserSerializer代碼。 –