Django-fr

Forum

#1 02-03-2011 17:46:29

quinode
Membre
Lieu : Auvergne
Inscription : 14-10-2010
Messages : 89
Site Web

Boucle sur définition de modèle

Bonjour à tous
j'ai un souci qui tient surement à l'architecture de mon truc, mais bon, je voudrais contourner l'obstacle (pas tout refaire!)

J'ai un modèle Patient, avec plein de champs, et un modèle Suivi, qui a une relation avec le modèle Patient (pour savoir de quel patient on parle)
C'était très bien comme ça,  il pouvait exister plusieurs suivis pour un même patient

Maintenant j'ai besoin de pouvoir, depuis le modèle Patient d'accèder par une foreign key au dernier suivi en cours (l'accès depuis le modèle est important)
Alors j'ai voulu rajouter un champ "suivi_en_cours" pour créer une autre relation, du Patient vers un Suivi :

class Patient(models.Model):
    #plein de champs
    suivi_en_cours = models.ForeignKey(Suivi,blank=True, null=True,verbose_name="Suivi en cours")

class Suivi(models.Model):
    #autres champs
    patient = models.ForeignKey(Patient)

Et ça , ça ne marche pas, parceque le modèle Suivi n'est pas défini lorsque Patient y fait appel.
Et je ne peux pas toucher l'ordre des modèles, il y en a quelques autres entre les deux...

Y-a-t-il un moyen de revenir sur la définition de mon modèle Patient après la classe Suivi pour ajouter ce champ ?

Dernière modification par quinode (02-03-2011 17:47:16)

Hors ligne

#2 02-03-2011 18:07:59

Pierre-Julien Grizel
Membre
Inscription : 21-01-2011
Messages : 4

Re : Boucle sur définition de modèle

Tu mets le nom de ton modèle entre guillemets et ça roule...

A+

Le 2 mars 2011 à 17:46, Dominique Guardiola <contact _AT_ quinode.fr> a écrit :

> Bonjour à tous
> j'ai un souci qui tient surement à l'architecture de mon truc, mais bon,
> je voudrais contourner l'obstacle (pas tout refaire!)
>
> J'ai un modèle Patient, avec plein de champs, et un modèle Suivi, qui a
> une relation avec le modèle Patient (pour savoir de quel patient on parle)
> C'était très bien comme ça,  il pouvait exister plusieurs suivis pour
> un même patient
>
> Maintenant j'ai besoin de pouvoir, depuis le modèle Patient (l'accès
> depuis le modèle est important) d'accèder par une foreign key au dernier
> suivi en cours
> Alors j'ai voulu rajouter un champ "suivi_en_cours" pour créer une autre
> relation, du Patient vers un Suivi :
>
>

> class Patient(models.Model):
>    #plein de champs
>    suivi_en_cours = models.ForeignKey(Suivi,blank=True,
> null=True,verbose_name="Suivi en cours")
> 
> class Suivi(models.Model):
>    #autres champs
>    patient = models.ForeignKey(Patient)
>

>
> Et ça , ça ne marche pas, parceque le modèle Suivi n'est pas défini
> lorsque Patient y fait appel.
> Et je ne peux pas toucher l'ordre des modèles, il y en a quelques autres
> entre les deux...
>
> Y-a-t-il un moyen de revenir sur la définition de mon modèle Patient
> après la classe Suivi pour ajouter ce champ ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#3 02-03-2011 18:24:13

quinode
Membre
Lieu : Auvergne
Inscription : 14-10-2010
Messages : 89
Site Web

Re : Boucle sur définition de modèle

Trop fort Pierre, merci!

Hors ligne

#4 02-03-2011 21:06:51

werefr0g
Membre
Inscription : 09-09-2010
Messages : 23

Re : Boucle sur définition de modèle

Bonsoir,

Peut-être hors sujet, mais n'est-il pas préférable d'indiquer dans le
suivi ses dates de début et dates de fin ? Cela me paraît plus juste en
terme de "dépendances".

Tu conserves la faculté de retrouver le dernier suivi d'un patient (en
cours ou non, selon tes besoins) ou tous ses suivis en cours le cas
échéant. Tu peux utiliser un champs état du suivi, si tu préfères.

Qu'en penses-tu ?

Hors ligne

Pied de page des forums