Использую django rest framework. Вот две модели:
class ArticleList(models.Model):
name = models.CharField(
max_length=120,
blank=False,
null=False,
unique=True,
verbose_name='Название'
)
reverse = models.BooleanField(
default=False,
blank=False,
null=False,
verbose_name='Обратный'
)
class Article(models.Model):
user = models.ForeignKey(
User,
on_delete=models.CASCADE,
null=False,
verbose_name='Пользователь',
default=2
)
article= models.ForeignKey(
ArticleList,
on_delete=models.PROTECT,
null=False,
)
repeat = models.IntegerField(
blank=False,
null=False,
verbose_name='Повтор'
)
date = models.DateTimeField(
blank=False,
null=False,
verbose_name='Дата и время'
)
Так сереализирую:
class ArticleListSerializer(serializers.ModelSerializer):
class Meta:
model = ArticleList
fields = ('name', 'reverse')
class ArticleSerializer(serializers.ModelSerializer):
article= ArticleListSerializer()
class Meta:
model = Article
fields = ('repeat', 'date', 'article')
Получаю вот такой json:
[
{
"repeat": 8,
"date": "2019-04-01T08:25:00+03:00",
"article": {
"name": "Имя 1",
"reverse": true
}
},
{
"repeat": 10,
"date": "2019-04-01T08:28:00+03:00",
"article": {
"name": "Имя 1",
"reverse": true
}
},
{
"repeat": 10,
"date": "2019-04-01T08:31:00+03:00",
"article": {
"name": "Имя 1",
"reverse": true
}
}
]
Можно, что-то в сереализаторе сделать, чтобы json был такого формата:
{
"name":"Имя 1",
"reverse":true,
"article":[
{
"repeat":8,
"date":"2019-04-01T08:25:00+03:00"
},
{
"repeat":10,
"date":"2019-04-01T08:28:00+03:00"
},
{
"repeat":10,
"date":"2019-04-01T08:31:00+03:00"
}
]
}
?