Я пытаюсь создать объект, только если в таблице нет ни одного пользователя, или же обновить поле. Моя реализация:
class UserMobileViewSet(generics.ListCreateAPIView):
authentication_classes = (authentication.TokenAuthentication,)
permission_classes = (permissions.IsAuthenticated,)
queryset = UserMobileDevice.objects.all()
serializer_class = UserMobileSerializer
def get_user(self, id):
try:
UserMobileDevice.objects.get(user=id)
except User.DoesNotExist:
return None
def create(self, request, *args, **kwargs):
myModel = None
id = request.data.get("user") #id = 52 pk = 2
print(id)
if id:
myModel=self.get_user(id)
print(myModel)
if myModel:
return self.update(request, *args, **kwargs)
else:
return self.create(request, *args, **kwargs)
Моя схема таблицы выглядит так:
[
{
"id": 1,
"token": "f5a906ec934425d00fc40e3b260eca2c48965d0a",
"device_model": "Samsung J6",
"os": "Android 9",
"os_version": "9",
"created_at": "2019-09-12T03:36:11.630303Z",
"updated_at": "2019-09-12T03:36:13.724340Z",
"user": 2
},
....
]
Я получаю сообщение об ошибке:
TypeError: get_object () занимает 1Позиционный аргумент, но были заданы 2
Я очень плохо знаком с DRF, Не уверен, как я получу объект из идентификатора. Любое предложение очень поможет !!