Я пытаюсь решить проблему, связанную с моим API, и хочу реорганизовать мой код, чтобы он работал в обратном направлении. Я имею в виду, что если интерфейс не отправляет мне данные, которые я хочу, запрос должен пройти, и если интерфейс отправляет, он все равно будет работать как обычно.
Итак, примерно моя функция создания работает нормально, однако, когда команда переднего плана отправила данные без ожидаемого сервером сбоя с 500 Internal Server Error, но я хочу сделать это необязательным, даже если ожидаемые данные не отправляются Я хочу получить ответ 200 Http, вот где код ломается из-за ключевой ошибки на job_invoice. Я пытался использовать в цикле for, чтобы обойти его ... но все же.
job_invoice_data = inv_data['job_invoice']
job_invoice = JobInvoice.objects.create(job=job_instance, **job_invoice_data)
obj.job_invoice = job_invoice
# Create an InvoiceLineItem for each element in invoice_line_item
for invoice_line_item in inv_data['invoice_line_item']:
invoice_line_item['job_invoice'] = job_invoice.id
if invoice_line_item['job_invoice'] is None:
break
invoice_line_item_serializer = InvoiceLineItemSerializer(data=invoice_line_item)
if invoice_line_item_serializer.is_valid():
invoice_line_item_obj = invoice_line_item_serializer.save()
else:
logger.debug("Couldn't create invoice line item: {}".format(invoice_line_item))