Je travaille sur un projet django dans lequel je crée un ensemble de trois modèles abstraits que j'utiliserai pour une variété d'applications plus tard. Le problème auquel je suis confronté est que je veux connecter ces modèles via une clé étrangère mais django me dit qu'il ne peut pas attribuer de clés étrangères à un modèle abstrait.
Ma solution actuelle est d'attribuer des clés étrangères lorsque j'instancie la classe dans mes autres applications. Cependant, j'écris actuellement un gestionnaire pour les classes abstraites (livre et pages) et j'aurais besoin d'accéder à ces clés étrangères. Ce que j'essaie essentiellement de faire, c'est d'obtenir le nombre de mots qu'un livre contient de manière statique, donc sans le stocker dans un champ de la page ou du livre.
Le modèle ressemble à ceci :
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
Remarquez que ce modèle ici est juste pour donner un exemple de ce que j'essaie de faire, donc savoir si ce modèle (Livre-Page-Mot) a du sens d'un point de vue implémentation n'est pas nécessaire.