Je dispose de plusieurs modèles dans une application métiers. Ces modèles ont des relations entre eux. De facto la modification d'un modèle lié se répercute sur tous les modèles liés.
A à un moment donner je souhaite figer un ou plusieurs modèles.
Typiquement
class ModelA(models.Model):
field1 = models.CharField(..)
field2 = models.models.OneToOneField(ModelB)
field3 = models.ForeignKey(ModelC)
class ModelB(models.Model):
field1 = models.CharField(..)
class ModelC(models.Model):
field1 = models.CharField(...)
Dans mes vues la représentation de ModelB et ModelC c'est de la sortie unicode de chaque modèle qui est basée sur field1.
Je souhaiterai donc figer ModelA afin que la modification de ModelB ou ModelC n'ai plus d'impact.
Mon idée de base serait donc de recréer un modèle ModelAFreeze avec uniquement des Fields ne faisant pas appel à des clés étrangères (typiquement CharField...).
Existe-t-il un pattern, une django app ou une best practice pour arriver à cela ?