Я отправляю почтовый запрос со сканера с отсканированными серийными номерами на сервер django.
{"serial_number": "70: B3: D5: A9: C8: 62", "bom": "2019/05/08"}
views.py
def camera_register(request):
form = forms.RegisterCamerasForm(data=request.POST)
if form.is_valid():
instances = form.save(commit=False)
# instances.serial_number = instances.serial_number.lower()
instances.last_sighting_ip = request.META.get('REMOTE_ADDR')
instances.last_sighting_time = datetime.datetime.now()
form.save()
form.save_m2m()
return JsonResponse(1, safe=False)
else:
return JsonResponse(form.errors, status=200)
forms.py
class RegisterCamerasForm(forms.ModelForm):
def clean(self):
super().clean()
class Meta:
fields = '__all__'
exclude = ['group']
model = camera_models.Camera
models.py
class Camera(TimeStampedModel):
public_identifier = models.UUIDField(unique=True,
default=uuid.uuid4,
editable=False)
serial_number = models.CharField(max_length=100,
unique=True,
null=True)
name = models.CharField(max_length=50, blank=True, null=True)
group = models.ForeignKey('CameraGroup',
on_delete=models.SET_NULL,
null=True,
related_name='cameras',
related_query_name='cameras')
# last seen at ip
last_sighting_ip = models.CharField(max_length=50, blank=True, null=True)
last_sighting_time = models.DateTimeField(null=True, blank=True)
objects = CameraQuerySet.as_manager()
def __str__(self):
return self.name or self.serial_number or str(self.public_identifier)
def as_json(self):
return {
'serial_number': self.serial_number
}
Я отправляю запрос и сохраняю его в базе данных, но я не получаю ответ, и мне нужно, чтобы я мог сделать pytest и объединить его для разработки.
Я попытался сохранить его с помощью form.save () form.save_m2m (), так как я изменяю некоторые данные. Я добавляю время и IP-адрес. (Нужно делать все строчными, но по одному разу)
Когда я не сохраняю его с помощью form.save (), я получаю ответ, поэтому это означает, что мои данные каким-то образом недействительны, но я не могу понять, как именно.
Я отправляю запрос через клиент Restlet, что-то похожее на Postman, и если я не выполняю запрос, он продолжается до бесконечности ...