在Django中按字段分组数据

时间:2013-07-11 07:02:31

标签: python django models

按季节分组:

第1季:     第1章     第2章     第3章     第4章

第2季:     第1章     第2章     第3章

示例图片http://i.stack.imgur.com/SvaqM.png

#models.py

class Serie(models.Model):
    # optional fields

    def serie_chapter(self):
        return self.seriechapter_set.order_by("season","chapter")

class SerieChapter(models.Model):
    serie = models.ForeignKey(Serie)
    name = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(max_length=100, unique=True)
    season = models.IntegerField(db_index=True, choices=CHOICES_SEASON)
    chapter = models.IntegerField(choices=CHOICES_EPISODE)
    created_at = models.DateTimeField(auto_now=True)

那么,我可以在每个赛季添加章节吗?

感谢。

1 个答案:

答案 0 :(得分:0)

你可以再增加一个课程

class series_chapter(models.Model):
    series=models.ForeignKey(Serie)
    chapter=models.ForeignKey(SerieChapter)

在SerieChapter课程中你不需要

serie=models.Foreignkey(Serie)

第1季你要添加episode1和episode2 然后首先在各自的模型中添加系列和章节。 然后在series_chapter中

s1c1=series_chapter.objects.create(series=instance_of_serie,chapter=instance_of_Seriechapter)#for chapter 1
s1c2=series_chapter.objects.create(series=instance_of_serie,chapter=instance_of_Seriechapter)#for chapter 2