2017-10-12 74 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,你明白了嗎?可以嗎? –