Пример #1
0
 def post(self, request, **kwargs):
     """
     Creates a new device or updates an existing one to `is_active=True`.
     Expects two non-options POST parameters: `token` and `service`.
     """
     devices = Device.objects.filter(token=request.POST.get('token'),
                                     service__id=int(
                                         request.POST.get('service', 0)))
     if devices.exists():
         device = devices.get()
         device.is_active = True
         device.save()
         return JSONResponse(device)
     form = DeviceForm(request.POST)
     if form.is_valid():
         device = form.save(commit=False)
         device.is_active = True
         device.save()
         return JSONResponse(device, status=201)
     return JSONResponse(form.errors, status=400)