Джанго модель для книг - PullRequest
0 голосов
/ 09 июня 2019

Я хочу определить класс для книг.

  • Книга состоит из нескольких глав.
  • Глава состоит из нескольких разделов.
  • Раздел состоит изиз нескольких подразделов.

Можно ли сделать это следующим образом?

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 Ответ

1 голос
/ 09 июня 2019

Да, это стандартный способ сделать это, поскольку он сопоставляет соответствующий SQL.

  • В Chapter вы определяете book как внешний ключ
  • Book class автоматически получит переменную с именем chapter_set, которая содержит список глав

Уже одно это доказывает, что вы делаете это правильно.См. связанные менеджеры для получения дополнительной информации

То же самое для подраздела

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...