Django Book树基础模型

时间:2017-10-12 03:22:56

标签: django model tree

我想知道是否可以做一本书籍基础模型。每个类别都有许多具有相同名称的子类别。例如:第1册有第1部分,第2部分等。每个部分第1章,第2章等等。哪种结构最好?

1 个答案:

答案 0 :(得分:0)

是的,您可以通过定义模型和使用one-to-many关系来实现此目的。

class Book(models.Model):
    bookName = models.CharField(max_length=50)

class Section(models.Model):
    book = models.ForeignKey(Book, on_delete=models.CASCADE)
    sectionName = models.CharField(max_length=50)

class Chapter(models.Model):
    book = models.ForeignKey(Book, on_delete=models.CASCADE)
    section = models.ForeignKey(Section, on_delete=models.CASCADE)
    chapterName = models.CharField(max_length=50)

class Topic(models.Model):
    book = models.ForeignKey(Book, on_delete=models.CASCADE)
    section = models.ForeignKey(Section, on_delete=models.CASCADE)
    chapter = models.ForeignKey(Chapter, on_delete=models.CASCADE)
    topicName = models.CharField(max_length=50)