Iam using Django 3.2 with Restframework. I have a Model as a for a Primary key named Tag and a Model connected as a foreign key named TagItem.
I tried to get a nested JSON output for it but its not working as expected.
Models.py
class Tags(models.Model):
tagId = models.CharField(primary_key=True, max_length=100,default=1)
section = models.CharField(max_length=100)
class TagItem(models.Model):
tagId= models.ForeignKey(Tags, on_delete=models.CASCADE,default=1)
select = models.BooleanField(default=False)
name = models.CharField(max_length=50)
views.py
def get_tag_details(request):
if request.method == 'GET':
tag = Tags.objects.all()
tagitem = TagItem.objects.all()
TagSerializeobj = TagsSerializer(tag,many=True)
TagItemSerializeobj = TagItemSerializer(tagitem, many=True)
result = {}
result['tag'] = TagSerializeobj.data
for item in TagItemSerializeobj:
if item.tagId == result['tag'].tagId:
result['tagItem'] = item
return Response(result)
Error: 'ListSerializer' object is not iterable
How to iterate of get items nested under related Tags only.
Required output
{
"id": 1,
"section": "crafts",
"items": [
{
"id": "10",
"select": false,
"name": "Wood"
},
{
"id": "11",
"select": false,
"name": "Clay"
}
]
},
{
"id": 2,
"section": "states",
"items": [
{
"id": "20",
"select": false,
"name": "Andhra Pradesh"
},
{
"id": "21",
"select": false,
"name": "Arunachal Pradesh"
},
]
}