Django создает JSON-список из модели и связанных с ней моделей

У меня есть эти две модели:

class LetterGroups(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=256)
    personnel_id = models.ForeignKey(Personnel, on_delete=models.CASCADE,db_column='personnel_id')

    class Meta:
        db_table = 'letter_groups'
        ordering = ['id']
        permissions = (("letters", "letters"),)


class LetterGroupMembers(models.Model):
    id = models.AutoField(primary_key=True)
    group_id = models.ForeignKey(LetterGroups, on_delete=models.CASCADE,db_column='group_id')
    personnel_id = models.ForeignKey(Personnel, on_delete=models.CASCADE,db_column='personnel_id')

    class Meta:
        db_table = 'letter_group_members'
        ordering = ['id']
        permissions = (("letters", "letters"),)

и я пытаюсь создать JSON следующим образом (модель и все связанные поля в дочерней модели):

[
{
  "id": 1,
  "name": "group 1",
  "lettergroupmembers": [
    {
      "id": 1,
      "name": "member 1"
    },
    {
      "id": 2,
      "name": "member 2"
    }
  ]
},
{
  "id": 2,
  "name": "group 2",
  "lettergroupmembers": [
    {
      "id": 3,
      "name": "member 3"
    },
    {
      "id": 4,
      "name": "member 4"
    }
  ]
}
]

Я уже использую нечто подобное, но не могу создать правильный JSON.

groups = json.dumps(
    obj=list(LetterGroups.objects.all().values('id', 'name', 'lettergroupmembers__id', 'lettergroupmembers__name')),
    cls=DjangoJSONEncoder,
    ensure_ascii=False
)

Как я могу создать JSON со всеми связанными полями в дочерней модели?

Вернуться на верх