书籍的Django模型

时间:2019-06-09 15:53:25

标签: python django

我想为书籍定义一个类。

  • 一本书由几章组成。
  • 一章包括几个部分。
  • 一个部分由几个小节组成。

可以这样做吗?

class Book(models.Model):
  pass

class Chapter(models.Model):
  book = models.ForeignKey('Book', on_delete=models.CASCADE)

class Section(models.Model):
  chapter = models.ForeignKey('Chapter', on_delete=models.CASCADE)

class SubSection(models.Model):
  section = models.ForeignKey('Section', on_delete=models.CASCADE)
  content = models.TextField()

还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

是的,这是执行此操作的标准方法,因为它会紧密映射相应的SQL。

  • Chapter中,您将book定义为外键
  • Book类将自动 获取名为chapter_set的变量,其中包含章节列表

仅此一项即可证明您做得正确。有关更多信息,请参见相关经理

与子章节相同