2017-08-31 5 views
0

J'ai la classe suivanteDjango admin avec plusieurs patrimoine

class master(models.Model): 
    topic = models.ManyToManyField('Topic') 

class child1(master): 
    question = models.CharField(max_length=100, null=False) 

class child2(master): 
    answer_display = models.CharField(max_length=300, null=False) 

Dans l'administration django, je souhaite ajouter un child1 objet et en même temps un child2 objet qui ont le même ID donné par le modèle Parrent.

Comment je suis censé faire ça?

Edit: Si je crée un child1 objet et un child2 objet, je n'ai pas le même ID maître que je souhaite

Répondre

0

Il n'a pas été un bon moyen de mes modèles organisés

je changer pour quelque chose comme ça

class master(models.Model): 
    topic = models.ManyToManyField('Topic') 

class child1(child2): 
    question = models.CharField(max_length=100, null=False) 

class child2(master): 
    answer_display = models.CharField(max_length=300, null=False) 
0

Je suis un peu confus quant à ce que vous voulez, mais si vous voulez Pour lier les 2 "childs" à un "parent", vous pouvez créer un champ ForeignKey sur les deux fils et l'utiliser pour créer un lien vers un modèle "parent".

Si vous souhaitez également que vos modèles child1 et child2 héritent du modèle master, ils doivent avoir abstract = True dans leur class Meta.

class master(models.Model): 
    topic = models.ManyToManyField('Topic') 

    class Meta: 
     abstract = True 

class child1(master): 
    question = models.CharField(max_length=100, null=False) 
+0

Je ne veux pas changer mon modèle actuel, il est des œuvres. Mais je souhaite ajouter du contenu avec l'admin django, et je ne comprends pas comment je suis censé écrire mon admin.py Parce que je souhaite ajouter du contenu à la fois enfant dans le même temps –