Как вложенный элемент списка? Можем ли мы использовать сериализаторы для возврата настройки, или нам нужно написать django представление для настройки вывода данных?
models.py
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
class Article(models.Model):
headline = models.CharField(max_length=100)
pub_date = models.DateField()
reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
view.py
class ReporterView(generics.ListCreateAPIView):
queryset = Reporter.objects.all()
serializer_class = ReportSerializer
class ArticleView(generics.ListCreateAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
urls.py
urlpatterns = [
path('reporter/',ReporterView.as_view(),name='reporter'),
path('artical/',ArticleView.as_view(),name='article'),
]
Эти API возвращают данные следующим образом: для API репортер / :
[
{
"id": 1,
"first_name": "Nero",
"last_name": "Sutton",
"email": "dugunox@mailinator.com"
},
{
"id": 2,
"first_name": "Maia",
"last_name": "Stark",
"email": "kacepub@mailinator.com"
}
]
для API 'Artical /'
{
"id": 1,
"headline": "Consequatur",
"pub_date": "2020-02-14",
"reporter": {
"id": 1,
"first_name": "Nero",
"last_name": "Sutton",
"email": "dugunox@mailinator.com"
}
},
Теперь я хочу создать новый API который может возвращать данные в следующем формате:
[
{ "first_name": "Nero",
"email": "dugunox@mailinator.com"
"reportinf_artical":[
{ "headline": "Consequatur1", "pub_date": "2020-02-14",},
{ "headline": "Consequatur2", "pub_date": "2020-02-14",},
{ "headline": "Consequatur3", "pub_date": "2020-02-14",},
]
},
{ "first_name": "Nero",
"email": "dugunox@mailinator.com"
"reportinf_artical":[
{ "headline": "Consequatur1", "pub_date": "2020-02-14",},
{ "headline": "Consequatur2", "pub_date": "2020-02-14",},
{ "headline": "Consequatur3", "pub_date": "2020-02-14",},
]
},
#and so on....
]