Est-il possible d'instancier un modèle sous-classé à partir de son parent?Instancier le modèle django à partir des données parent
class Object1(models.Model):
field1a = models.CharField()
field1b = models.CharField()
feild1c = models.ForeignKey(Object4)
class Object2(Object1):
field3 = models.CharField()
class Object3(Object1):
field3 = models.CharField()
class Object4(models.Model):
field4 = models.CharField()
Ce que je veux faire est de créer la classe de base d'abord, puis sur la base d'une règle instancier une des sous-classes, mais en utilisant la classe de base déjà créé.
Quelque chose comme:
obj4 = Object4(field4='d')
obj1 = Object1(field1a='a', field1b='b', field1c=obj4)
if somerule:
obj2 = Object2(object1_ptr=obj1, field2='2')
else:
obj3 = Object3(object1_ptr=obj1, field3='3')
Je ne veux pas répéter les champs Object1 dans les cas/clauses d'autre. Est-il possible d'accomplir cela? Quand j'essaye ceci je reçois une erreur de clé étrangère; Impossible d'ajouter ou mettre à jour une ligne enfant: Une contrainte de clé étrangère échoue
Merci. Je vais le donner et voir si ça fait ce que je veux. –