Привет Я пытаюсь получить маркер из формата JSON купить, когда я делаю .get («gtoken») они возвращают NULL, и я не знаю, почемуdevice_data.get() всегда возвращает Null
Вот мой Код от Serializers.py
class DeviceSerializer(serializers.Serializer):
class Meta:
model = Device
fields = (
'gtoken'
)
class AddDeviceSerializer(serializers.Serializer):
username = serializers.CharField()
device = DeviceSerializer()
class Meta():
fields = (
'username'
'device'
)
def create(self, validated_data):
"""
Add Device to an user
"""
device_data = validated_data.pop('device')
user = User.objects.get(username=validated_data['username'])
gtoken = device_data.get('gtoken')
device = Device.objects.create(gtoken = gtoken)
device.user.add(user)
return device
Это то, что я шлю
{
"username": "735062",
"device": {
"gtoken": "cJHdNYxqIr4:APA91bFqFmFLoyf6t36iXAE9aoiSnG_nv8u5f6SfLVLrCtRYslAz04IZXfweLYg2RKRcQdJ6Vu0e9mLDFb2QB2k63oMnerKxSCfxO4PHmXrEQv_Pk-iWVlCsfoLYygat6OyPuiF79Gl1"
}
}
мнение только сохранить устройство и это работает, потому что в магазинах divice в базе данных, но без токена.
class UserDeviceToken(APIView):
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def put(self, request):
serializer = AddDeviceSerializer(data = request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(status=status.HTTP_201_CREATED)
ВНИМАНИЕ, что устройство представляет собой модель, которая имеет отношение ManyToManyField пользователя с Null = True, поэтому не послал и ошибок.
Человек, которого вы Удивительный, я не видел этого jaja: D Спасибо jajjaa –