Как получить 2 данных и интегрировать их в представление api?

body

Мне нужна помощь, пожалуйста. Я собираюсь создать API для абстрактного/легкого, поэтому пишу код следующим образом:

Python3.9
Django 3.2
gunicorn
psycopg2-binary
requests

#models.py

from django.conf import settings


class Abstracts(models.Model):
    title = models.TextField(max_length=100)
    first_author = models.CharField(max_length=100, blank=True, null=False)
    first_author_unit = models.CharField(max_length=100, blank=True, null=False)
    author_list = models.TextField(null=True)
    author_unit_list = models.TextField(null=True)

#views.py

from .models import Abstracts
from django.shortcuts import get_object_or_404
from django.http import JsonResponse


def api_abstract_view(request, id):
    # API get abstract
    apiabs = get_object_or_404(Abstracts, pk=id)

    datas = {
        "title": apiabs.title,
        "first_author":{"name":apiabs.first_author, "unit":[apiabs.first_author_unit]},
        "author_list": {"name":apiabs.author_list, "unit":[apiabs.author_unit_list]},
        }

    return JsonResponse({"abstract": datas})

#url.py

from .views import api_abstract_view

app_name = 'abstracts'

urlpatterns = [
    path("apiabstractview/<int:id>/", api_abstract_view, name="api_abstract_view"),  
]

Вывод json

Реферат был создан, json, который я получил после доступа к id по url: http://127.0.0.1:8000/apiabstractview/9/

API URL : http://127.0.0.1:8000/apiabstractview/9/

{
  "abstract": {
    "title": The name of Title,
    "first_author": {
      "name": "First Author",
      "unit": ["C School", "A School", "D School"]
    },
    "author_list": {
      "name": "2 author, 3 author",
      "unit": ["A School, B School, C School"]
    },
  }
}

HOWEVER....

Помогите, пожалуйста, что мне делать? Как показано ниже.

Результат JSON, я надеюсь, выглядит следующим образом:

author_list должен быть выделен как свойство по отдельности.

{
  "abstract": {
    "title": The name of Title,
    "first_author": {
      "name": "First Author",
      "unit": ["C School", "A School", "D School"]
    },
    "author_list": [
        { 
            "name": "2 Author",
            "unit": ["A School","B School"]
        },
        {
            "name": "3 Author"
            "unit":["C School"]
        }
    ],
  }
}
Вернуться на верх