Как размещать элементы строк в REST API Django
Данные GET-ответа
[
{
"id": "055444eb-5c4d-445b-99cc-a01be17deeb7",
"transaction_line_items": [
{
"id": "5b0ea944-a032-4b8e-a29a-3f52e0863040",
"title": "Sambar Powder",
"description": "Sambar Powder 100g",
"price": "10",
"quantity": 1,
"created_at": "2022-08-17T14:01:39.387406Z",
"updated_at": "2022-08-17T14:01:39.387406Z"
},
{
"id": "ace1546b-12e4-4a6d-991e-b867cf64515a",
"title": "Tomato",
"description": "Tomato 10kg",
"price": "20",
"quantity": 10,
"created_at": "2022-08-17T14:01:05.194278Z",
"updated_at": "2022-08-17T14:01:05.194278Z"
}
],
"transaction_no": "6aa623a3",
"cgst_per": 8,
"igst_per": 8,
"sgst_per": 0,
"created_at": "2022-08-17T14:01:58.694463Z",
"updated_at": "2022-08-17T14:01:58.694463Z",
"account": "0b68e37e-ba15-4427-8a45-d48b152a42d5",
"main_biiling_account": "edc9d792-ffdb-4122-8589-d499f05e4f7b"
}
]
Данные POST-запроса
{
"transaction_line_items":[
{
"title":"Tomato",
"description":"2 kg Tomato",
"price":"10",
"quantity":2
},
{
"title":"Fish",
"description":"2 kg Fish",
"price":"500",
"quantity":2
}
],
"cgst_per":"8",
"igst_per":"8",
"sgst_per":"0",
"account":"edc9d792-ffdb-4122-8589-d499f05e4f7b",
"main_biiling_account":"edc9d792-ffdb-4122-8589-d499f05e4f7b"
}
Данные POST-ответа
{
"id": "dc2ed349-2e3b-42a3-9ce8-1ecd6f11a225",
"transaction_line_items": [],
"transaction_no": "6aa623a3",
"cgst_per": 8,
"igst_per": 8,
"sgst_per": 0,
"created_at": "2022-08-17T14:08:02.995195Z",
"updated_at": "2022-08-17T14:08:02.995195Z",
"account": "edc9d792-ffdb-4122-8589-d499f05e4f7b",
"main_biiling_account": "edc9d792-ffdb-4122-8589-d499f05e4f7b"
}
View Code
@api_view(['GET','POST'])
@permission_classes([IsAuthenticated])
def apiTransactions(request,account_id):
if request.method == 'GET':
transactions = Transaction.objects.filter(account=account_id,account__user=request.user)
serializer = TransactionSerializer(transactions, many=True)
return Response(serializer.data)
elif request.method == 'POST':
data = request.data
if (data["account"]==account_id):
serializer = TransactionSerializer(data=data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
return Response({'meassage': 'Account ID not match'}, status=status.HTTP_400_BAD_REQUEST)
Выше я привел коды и данные JSON. Почему мои элементы строк не сохраняются? Когда я ввожу данные с помощью страницы администратора, они работают правильно. Когда я использую API, данные не сохраняются. Как я могу написать код для решения этих проблем, я новичок в Django. Пожалуйста, помогите решить эту проблему.