У меня есть модель Person
для хранения информации о человеке.сериализовать объект модели со связанными объектами с JSON
class Person(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
birthdate = models.DateField()
также я имею модель PersonLogs
для хранения журналов деятельности человека.
class PersonLogs(models.Model):
person = models.ForeignKey(Person)
time = models.DateTimeField(auto_now_add=True)
Я использую сериализатор Django для возврата объектов Person в формат JSON в качестве ответа.
from django.core import serializers
data = serializers.serialize("json", Person.objects.all())
Выход:
{
"model": "store.person",
"fields": {
"first_name": "Douglas",
"last_name": "Adams",
"birth_date": "1952-03-11",
}
}
Теперь я хочу вернуться PersonLogs
в ответ JSON.
Ожидаемый выход:
{
"model": "store.person",
"fields": {
"first_name": "Douglas",
"last_name": "Adams",
"birth_date": "1952-03-11",
"personlogs": [['2015-06-09 15:42:58.861540'], ['2014-06-09 15:42:58.861540'], [2013-06-09 15:42:58.861540]]
}
}
Я посмотрел в официальную документацию, но я не получил никакой помощи. link
Вы должны использовать Django Framework Rest; его сериализаторы гораздо более гибкие и могут быть настроены на следование отношениям. –
Спасибо за ваше предложение. Я сделал это с помощью сериализатора Rest. –