分组Django模型实例

时间:2015-05-12 02:21:31

标签: python django itertools

我环顾四周,找不到这样的东西,所以我问......

我有一个包含所有美国50个州的数据库,他们的人口存储在整数字段中。没有人口是相同的。

我想创建10个按人口规模排序的5个州的群组,因此人口最多的五个州属于第一组,其中五个是第二组中人口最多的州,依此类推。

我正在创建数据迁移以形成这些组并保存分组,我不知道如何迭代实例。

1 个答案:

答案 0 :(得分:2)

size_of_group = 5
all_states = State.objects.order_by('-population')
grouped_states = [all_states[i:i + size_of_group] for i in xrange(0, len(all_states), size_of_group)]

它将为您提供一份子列表。每个子列表包含size_of_group个状态。 grouped_states[0]有5个人口最多。 '-population'表示订单正在下降。

假设您的模型如下:

class State(models.Model)
  population = models.IntegerField()