Django modèle de l'héritage: Créer une sous-classe en utilisant les super classe
Je suis en utilisant multi-table-héritage, et vous voulez savoir comment créer un type héréditaire à partir d'une instance de la super-classe.
À l'aide de l'exemple donné dans la documentation:
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
Maintenant, lorsque vous créez un Restaurant
, vous faites automatiquement un Place
, ce qui est bien, et le comportement que j'attends et que vous voulez.
Mais ce que si je fais une Place
, et décider plus tard je veux convertir à un type spécifique (comme Restaurant
). Comment voulez-vous créer une Restaurant
, à l'aide d'un existant Place
?
- double possible de Django modèle de l'héritage: créer des sous-instance de instance existante (abattu)?
- J'ai vu que la question et la réponse, mais a été confondu parce que je pensais que le problème venait d'authentification (parce qu'un Utilisateur est un peu plus d'un objet spécial)
- Je upvoted votre duplication remarque, cependant, la question se référant à l'est sur les Utilisateurs, qui pourrait être source de confusion. Je trouve cet exemple de lieux et de restaurants (volé à la Django Documentations) plus clair et qui ressemble à mon problème.... mais à la base c'est le même problème.
- Voir code.djangoproject.com/ticket/7623
Vous devez vous connecter pour publier un commentaire.
Multi-héritage de table est juste
OneToOneField
relation entre le Lieu et le Restaurant.