У меня есть отношения один ко многим в родительских и дочерних таблицах. И пытается выбрать родительскую таблицу с дочерними таблицами как json
.
Я пробовал что-то вроде ниже.
if (request.method == "GET"):
parents = Parent.objects.all()
datas = []
childTables = []
for parent in parents:
#fetching parent first and creating DICT for json
#also creating an array for the child tables
parentDict = {
"id": parent.id,
"project_name": parent.project_name,
childTables: childTables,
}
#then fetching child tables NO problem at this part as well.
childs = parent.child_set.filter(parent_id=parent)
for child in childs:
#creating a DICT FOR THE json.
childDict = {
"id":child.id,
"ad_kind":child.ad_kind,
"parent_id":child.parent_id,
}
#i am trying to append project's childs into ParentDict
#but still it's appending all childs into every ParentDict...
#not just its parent's childs.
parentDict["childTables"].append(childDict)
#at last append all parent table inside an array and send it as JSON.
datas.append(parentDict)
return JsonResponse(datas, safe=False)
проблема начинается, когда я пытаюсь добавить child tables
внутри его parent
dict. Но вышеописанным способом я просто добавляю всех потомков в каждый родительский диктант ...
Есть ли какой-нибудь другой более простой способ добиться этого?