分类: Python/Ruby
2012-08-08 21:33:15
django regroup 可以让你在 里按照分组的逻辑来显示数据,这对我们要按照归类的方式来显示
数据非常的好,比如我们想在模板里显示:
一个国家:
一个国家所包括的城市
另外一个国家:
另外一个国家包括的城市
假如我们的model是这样设计的:
class Info(models.Model):
country = models.CharField('国家', max_length=50)
num = models.CharField('国家代号', max_length=50)
city = models.CharField('所在城市', max_length=50)
而我们根据这个model设计出来的表的结构是:
id country num city
1 china 001 beijing
2 china 002 shanghai
3 china 003 chongqing
4 us 005 New York
...
那我们想得到下面的结果:
china:
001
002
003
us:
005
那要怎么实现呢,请你继续往下看代码把:
view.py:
info = Info.objects.all()
return render_to_response('city.html', {'info':info})
上面的view不用直接进行逻辑处理,只要直接把数据给模板就可以。
现在关键看看template模板的处理把:
{% regroup info by country as grouped %}
希望上面的讲解让你对django regroup有一个比较好的理解,希望你下次要实现某种功能的时候能用到,没事的时候可以
看看 哦!
原创文章请注明转载自 ,本文地址: