
Envoyé par
Niko21
Bonjour,
Merci pour ta réponse.
Le problème c'est que je ne souhaite pas pouvoir creer ou modifier les attributs à partir de la cretion d'un héros, mais je souhaite uniquement recupérer les valeurs des attribut.nom de chaque instances de la classe attribut dans ma classe héros pour y ajouter une valeur .
J'espère que je suis clair, je ne suis même pas sûr qu'une liaison soit la solution..
Bonjour,
Ce que vous dîtes ne veut absolument rien dire, il vous manque des connaissances soit en Django, soit en POO, voir en conception UML.
Bref, le sens logique serait
1 2 3 4 5 6 7
| class Compétence(models.Model): nom = models.CharField(max_length=30, default= '...')
description = models.CharField(max_length=200, default='...')
caractéristiques_liees = models.CharField(max_length=200)
hero = models.ForeignKey(Hero, on_delete=models.CASCADE)
def __str__(self):
return self.nom |
et la création d'une compétence se ferait de cette manière,
1 2 3 4 5 6 7 8 9 10 11 12
| Competence.objects.create(
nom='...',
description='...',
caracteristiques='...',
hero=Batman
)
ou
Batman.competence_set.create(
# voir la suite comme plus haut
) |
avec Batman créé de cette manière,
Batman = Hero.objects.create(nom='Batman')
et avoir toutes les compétences de Batman,
Competence.objects.filter(hero__nom='Batman')
Bref tout ça c'est dans les docs -> ICI
J'ai dans mon exemple modifié Creation_Heros qui n'est pas un nom d'objet par Hero (au singulier)
P.S1 On aurait même pu faire du ManyToMany, tout dépend de la conception.
P.S2 On attaque pas un iceberg comme Django sans des connaissances préalables en POO et avec de très bonnes bases Python
Partager