2017-10-12 77 views
0

我想知道是否可以做一个书基模型。每个类别都有许多具有相同名称的子类别。例如:第1册有第1章,第2章等。每章第1章,第2章等等。这是做这个结构的最好方法吗?Django Book树基模型

回答

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) 
+0

一个建议,**主题**模型有必要有一个字段**部分**吗?章节领域本身确实使它在一个部分下面吗? –

+0

@AjmalNoushad,这是没有必要的,但我会建议你把它放在后面,这对你很容易,当你需要链接所有这些。 –

+0

@MariaC,你明白了吗?可以吗? –