Bonjour,
Je cherche lorsque un champ passe à TRUE de ma table "invitation" de mon
modèle à mettre à jour une autre table ("manager") qui n'est pas
directement connectée à cette dernière. Pour cela, je surcharge la
méthode save() appartenant à la table invitation. C'est un peu compliqué
a expliquer comme ça, je vais donc vous exposer une partie de mon code:
[code]class membre(models.Model):
......
class manager(models.Model):
membres = models.ForeignKey(membre)
classes = models.ForeignKey(classe)
class classe(models.Model):
...........
class invitation(models.Model):
idclasse = models.ForeignKey(classe)
idMembreDest = models.ForeignKey(membre, blank = True, null=True)
AcceptInvit = models.BooleanField(default = False, help_text = "Si le
membre accepte l'invitation, il est automatiquement ajouté en tant que en
tant que manager")
[/code]
Donc je veux que la table manager se remplisse lorsque le champ
AcceptInvit passe à True. Voici ce que j'ai essayé dans la méthode
save() de la classe invitation.
[code]def save(self, *args, **kwargs):
if self.AcceptInvit == True :
m = membre.objects.get(pk = self.idMembreDest.id)
g = classe.objects.get(pk = self.idclasse.id)
p = m.manager_set.create(classes = g.id, membres= m.id)
super(invitation, self).save(*args, **kwargs)
[/code]
ça aussi
[code]def save(self, *args, **kwargs):
if self.AcceptInvit == True :
manage = manager.objects.create(classes
=self.idclasse.id, membres=self.idMembreDest.id)
super(invitation, self).save(*args, **kwargs)
[/code]
ou encore ça
[code]def save(self, *args, **kwargs):
if self.AcceptInvit == True :
manager = manager(classes=self.idclasse.id,
membres=self.idMembreDest.id)
manager.save()
[/code]
Mon code d'erreur est le suivant :
[code]
Cannot assign "1": "manager.classes" must be a "classe" instance.
[/code]
Voila, si quelqu'un peut me venir en aide d'avance merci
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django