Vous n'êtes pas identifié(e).
Bonjour à tous,
Je débute dans l'apprentissage de Django et j'aurais besoin de vos lumière sur un point de la documentation traitant des modèles :
If you need to create a relationship on a model that has not yet been defined, you can use the name of the model, rather than the model object itself:
Que veux dire un modèle pas encore défini ? S'agit-il d'une classe qui n'a pas été encore créée ? J'ai essayé de déclarer une classe avec un ManyToMany vers une classe que je n'avais pas encore créé mais quand je fais "manage.py syncdb" j'obtiens une erreur comme quoi la classe mentionné n'existe pas. ça ne métonne pas ceci dit.
Quelle est la différence entre "the name of the model" et "the model object itself" ?
Je comprends tout à fait cependant qu'il faille créé tous ces modèles avant d'écrire les tables SQL, mais cette phrase "a model that has not yet been defined" laisse penser le contraire. Je dois sans doute pas avoir compris ce que cela voulait dire. Pourriez vous m'éclairer svp ?
Merci pour vos réponses.
Hors ligne
Au lieu de passer la classe, on passe une chaîne de caractère avec le
nom de la classe. Django se débrouille pour ramapper tout ça derrière.
Par exemple:
class Bidule(models.Model):
# truc = models.ManyToMany(Truc)
truc = models.ManyToMany("Truc")
class Truc(models.Model):
pass
Il faut que le modèle soit défini quelque part. Ceci aide uniquement si
le model n'est pas défini juste avant, et que donc la classe n'est pas
disponible. Cela fonctionne aussi bien avec ManyToMany qu'avec les
ForeignKey toutes simples.
Le jeu. 12 juil. 2012 22:22:03 CEST, Mr Djok a écrit :
> Bonjour à tous,
>
> Je débute dans l'apprentissage de Django et j'aurais besoin de vos
> lumière sur un point de la documentation traitant des modèles :
> [quote=Doc]If you need to create a relationship on a model that has not
> yet been defined, you can use the name of the model, rather than the model
> object itself:[/quote]
> Que veux dire un modèle pas encore défini ? S'agit-il d'une classe qui
> n'a pas été encore créée ? J'ai essayé de déclarer une classe avec un
> ManyToMany vers une classe que je n'avais pas encore créé mais quand je
> fais "manage.py syncdb" j'obtiens une erreur comme quoi la classe
> mentionné n'existe pas. ça ne métonne pas ceci dit.
>
> Quelle est la différence entre "the name of the model" et "the model
> object itself" ?
>
> Je comprends tout à fait cependant qu'il faille créé tous ces modèles
> avant d'écrire les tables SQL, mais cette phrase "a model that has not yet
> been defined" laisse penser le contraire. Je dois sans doute pas avoir
> compris ce que cela voulait dire. Pourriez vous m'éclairer svp ?
>
>
> Merci pour vos réponses.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
Ok je vois... Merci pour ton aide
Hors ligne