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
InformationsquelleAutor michel.iamit | 2012-03-22