Python 2D словарь данных с использованием модели запроса Django
Я пытаюсь создать 2D словарь данных на языке python, используя вывод Django Querysets.
У меня есть модель данных, которая выглядит следующим образом;
class vascProsthesis(models.Model):
prosthesisID = models.IntegerField(primary_key = True)
prosthesisCategory = models.CharField(max_length=255, blank=True, null=True)
prosthesisSubCategory = models.CharField(max_length=255, blank=True, null=True)
prosthesisCompany = models.CharField(max_length=255, blank=True, null=True)
prosthesisName = models.CharField(max_length=400, blank=True, null=True)
prosthesisDetails = models.TextField( blank=True, null=True)
class Meta:
ordering = ['-prosthesisID']
Я хочу создать упорядоченную "древовидную структуру", используя данные в модели, которая выглядит следующим образом;
-prosthesisCategory1
|__prosthesisCompany1
| |__prosthesisName1
| |__prosthesisName2
|__prosthesisCompany2
| |__prosthesisName3
Чтобы достичь этого, я попытался создать словарь данных Python 2D, который я могу передать в мой шаблон для генерации древовидной структуры.
proc = {}
prosth = vascProsthesis.objects.order_by().values_list('prosthesisCategory', flat=True).distinct()
companyList = vascProsthesis.objects.order_by().values_list('prosthesisCompany', flat=True).distinct()
for procCat in prosth:
proc[procCat] = {}
for company in companyList:
proc[procCat][company] = vascProsthesis.objects.filter(prosthesisCategory=procCat, prosthesisCompany=company).values('prosthesisID', 'prosthesisName')
Но я продолжаю получать "KeyError". Какую ошибку я допускаю? Есть ли лучший способ добиться этого?
Я использую JS и CSS для создания древовидного представления.
<ul class="tree">
<li>
<input type="checkbox" checked="checked" id="c1" />
<label class="tree_label" for="c1">Level 0</label>
<ul>
<li>
<input type="checkbox" checked="checked" id="c2" />
<label for="c2" class="tree_label">Level 1</label>
<ul>
<li><span class="tree_label">Level 2</span></li>
<li><span class="tree_label">Level 2</span></li>