Sto utilizzando multi-table-inheritance e voglio sapere come creare un tipo ereditato da un'istanza della superclasse.Ereditarietà modello Django: creare una sottoclasse utilizzando la super classe esistente
Usando l'esempio indicato nella documentazione:
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()
Ora, quando si crea un Restaurant
, è automaticamente fare un Place
, che va bene, e il comportamento che si aspettano e vogliono.
Ma cosa succede se faccio un Place
e successivamente decido che voglio convertire in un tipo specifico (come Restaurant
). Come si crea un Restaurant
, utilizzando uno esistente Place
?
possibile duplicato del [modello di ereditarietà Django: creare sotto-istanza di esempio (bassi) esistente] (http://stackoverflow.com/questions/4064808/django-model-inheritance-create- sub-instance-of-existing-downcast dell'istanza) – jpic
Ho visto quella domanda e risposta, ma ero confuso perché pensavo che il problema riguardasse l'autenticazione (perché un utente è un po 'più di un oggetto speciale) –
ho upvoted il tuo osservazione di duplicazione, tuttavia ... la domanda a cui si fa riferimento riguarda gli utenti, il che potrebbe essere fonte di confusione. Trovo questo esempio di luoghi e ristoranti (rubati dalle Documentazioni Django) più chiari e simili al mio problema ... ma in base è lo stesso problema. –