0
投稿された職業がランク付けされる小さなプロジェクトに取り組んでいます。ランク付けは、職業が掲載された回数に基づいて行われます。私はデータを照会し、職業をランク付けしました。しかし、テンプレートでは職業とそのパーセンテージを表示しようとすると、表示されるのは「ID」だけです。私は代わりに職業の名前を表示したい。下記のフローは #のmodels.pyあるテンプレート内のDjango注釈
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%
私はこの仕事を得る権利が得られませんか?
を解決し、Iは{データ%のデータの%} {{data.data.occupation}} {{data.value | floatformat: "2"}}を行う場合%
{%endfor%}関連する職業のないパーセンテージを表示 – ombwayo
あなたのビューでは 'data'はどこから来ますか? –
データは** OccupationData **の職業分野のデータです** model – ombwayo