【问题标题】:Django model for books书籍的 Django 模型
【发布时间】:2019-06-09 15:53:25
【问题描述】:

我想为书籍定义一个类。

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

按如下方式可以吗?

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()

或者有没有更好的方法?

【问题讨论】:

  • 多对多意味着Chapter也可以属于许多本书。

标签: python django


【解决方案1】:

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

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

仅此一项就证明您做对了。请参阅相关经理了解更多信息

子章节相同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 2021-04-30
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多