Я работаю над проектом django, в котором я создаю набор из трех абстрактных моделей, которые я буду использовать в дальнейшем для множества приложений. Проблема, с которой я столкнулся, заключается в том, что я хочу подключить эти модели через ForeignKey, но django сообщает мне, что он не может назначать внешние ключи абстрактной модели.
Мое текущее решение - назначать внешние ключи, когда я создаю экземпляр класса в других своих приложениях. Однако я пишу диспетчер для абстрактных классов (книги и страницы) прямо сейчас, и мне потребуется доступ к этим внешним ключам. То, что я в основном пытаюсь сделать, - это получить количество слов в книге без сохранения состояния, следовательно, не сохраняя его в поле страницы или книги.
Модель выглядит примерно так:
class Book(models.Models):
name = models.CharField(...)
author = models.CharField(...)
...
class Meta:
abstract = True
class Page(models.Models):
book = models.ForeignKey(Book)
chapter = models.CharField(...)
...
class Meta:
abstract = True
class Word(models.Models):
page = models.ForeignKey(Page)
line = models.IntegerField(...)
...
class Meta:
abstract = True
Обратите внимание, что эта модель здесь просто для того, чтобы дать пример того, что я пытаюсь сделать, следовательно, имеет ли эта модель (Книга-Страница-Слово) смысл с точки зрения реализации, является не требуется.