'Django creates a JSON list from the model and related models
I have these two models:
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"),)
and I try to create JSON like this (model and all related fields in the child model):
[
{
"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"
}
]
}
]
I already use something like this, but I can't create the correct JSON.
groups = json.dumps(
obj=list(LetterGroups.objects.all().values('id', 'name', 'lettergroupmembers__id', 'lettergroupmembers__name')),
cls=DjangoJSONEncoder,
ensure_ascii=False
)
How I can create JSON with all related fields in the child model?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
