方法1:
通过模板里的set属性,如果第一个表数据多查询也多,效率很低。
view.py
main.html
方法2:
通过模板里的ifchanged功能
view.py
通过模板里的set属性,如果第一个表数据多查询也多,效率很低。
models.py
class Country(models.Model):
id=models.AutoField(primary_key=True)
country_name=models.CharField(max_length=50)
country_gdp=models.DecimalField(max_digits=19,decimal_places=6)
class Province(models.Model)
id=models.AutoField(primary_key=True)
country=models.ForeignKey('Country')
province_name=models.CharField(max_length=50)
province_gdp=models.DecimalField(max_digits=19,decimal_places=6)
view.py
def main(request):
list=Country.objects.all()
return render_to_response ('main.html',{'list':list}, RequestContext(request))
main.html
{% for item in list %}
<span>{{item.country_name}}:{{item.country_gdp}}</span><br/>
{% for i in item.province_set.all %}
<span>{{i.province_name}}:{{item.province_gdp}}</span><br/>
{% endfor %}
{% endfor %}
方法2:
通过模板里的ifchanged功能
view.py
def main(request):
list=Province.objects.select_related('country','country__id','country__country_name').objects.all()
return render_to_response ('main.html',{'list':list}, RequestContext(request))
main.html
{% for item in list %}
{% ifchanged item.country.id %}
{% endifchanged %}
{% endfor %}