Я работаю над небольшим проектом, в котором должны быть размещены занятые должности. Ранжирование основано на том, сколько раз было проведено занятие. Мне удалось запросить данные и присвоить занятие. Однако в шаблоне, когда я пытаюсь отображать занятия и их проценты, отображается только их «id». Я хочу, чтобы вместо этого появилось имя оккупации. Ниже приведены потоки # models.pyDjango аннотация в шаблоне
class OccupationGroup(models.Model):
group=models.CharField(max_length=200)
def __str__(self):
return self.group
class Occupation(models.Model):
group=models.ForeignKey(OccupationGroup)
occupation=models.CharField(max_length=200)
def __str__(self):
return self.occupation
class OccupationData(models.Model):
group=models.ForeignKey(OccupationGroup) #added for testing
occupation=ChainedForeignKey(Occupation,chained_field='group', chained_model_field='group',)#added for testing
county=models.CharField(max_length=600)
date_of_advertisement=models.DateField(verbose_name="Date of Adveertisement")
#source=models.CharField(max_length=200,null=True, blank=True, verbose_name="Source")
positions=models.CharField(max_length=200, verbose_name="Number of positions")
def __str__(self):
return self.occupation
views.py
def view(request):
context_dict={}
total_items = OccupationData.objects.count()
items = [
{'data': g['occupation'], 'value': g['total'] * 100/ total_items} for g in data
]
context_dict={'data':items}
return render(request,'template.html',context_dict)
template.html
{% for data in data %}
{{data.data }}
{{ data.value|floatformat:"2" }}%<br>
{% endfor %}
Пример вывода
1 23%
2 21.22%
3 11.12%
Обязательный выход
Chemists 23%
Lawyers 21.22%
Mathematicians 11.12%
Что я не могу получить, чтобы получить эту работу?
и если я {% для данных в данных%} {{data.data.occupation}} {{ data.value | floatformat: "2"}} %
{% endfor%} отображает проценты без связанных занятий – ombwayo
Откуда появляется 'data'? –
данные из поля занятия в ** ЗанятиеData ** model – ombwayo