Anthony Expert

  Age : 21 Inscrit le : 06 Déc 2007 Messages : 62 Localisation : Cholet FRANCE Status Perso: Soldat Caste: Dragon Faction: Fantassin
 | Sujet: problème models avec les foreign key Mar 19 Aoû - 20:55 | |
| Je ne comprends pas pourquoi mon model ne passe pas:
| Code: | # -*- coding: utf-8 -*- from django.db import models from miraemos.registration.models import Joueur
TYPE_JOUEUR=( (0,'tous'), (1,'soldat'), (2,'ingénieur') ) class BrancheMission: bg = models.IntegerField("borne gauche") bd = models.IntegerField("borne droite") nombreRequis = models.IntegerField("nombre de sous-mission requise pour finir la mission") ordre = models.BooleanField("sous-mission ordonnée ou non") class Mission: idBrancheFeuille = models.ForeignKey(BrancheMission, verbose_name="id de la branche") nom = models.CharField("nom", max_length=50) description = models.TextField("description", max_length=500) image = models.ImageField("image de la mission",upload_to='mission/vignette/') xprequise = models.IntegerField("expérience requise pour débloquer la mission") typeJoueur = models.IntegerField("type de joueur requis pour la mission",choices=TYPE_JOUEUR) def __unicode_(self): return u'%s' % self.nom
|
Avec le terminal qui va avec :
| Code: | Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 301, in execute_manager utility.execute() File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 248, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 77, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 90, in execute self.validate() File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 117, in validate num_errors = get_validation_errors(s, app) File "/usr/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/home/barre/workspace/miraemos/miraemos/../miraemos/missions/models.py", line 17, in <module> class Mission: File "/home/barre/workspace/miraemos/miraemos/../miraemos/missions/models.py", line 18, in Mission idBrancheFeuille = models.ForeignKey(BrancheMission, verbose_name="id de la branche") File "/usr/lib/python2.5/site-packages/django/utils/maxlength.py", line 47, in inner func(self, *args, **kwargs) File "/usr/lib/python2.5/site-packages/django/db/models/fields/related.py", line 604, in __init__ assert isinstance(to, basestring), "%s(%r) is invalid. First parameter to ForeignKey must be either a model, a model name, or the string %r" % (self.__class__.__name__, to, RECURSIVE_RELATIONSHIP_CONSTANT) AssertionError: ForeignKey(<class miraemos.missions.models.BrancheMission at 0x87dac8c>) is invalid. First parameter to ForeignKey must be either a model, a model name, or the string 'self'
|
J'espère que quelqu'un peut m'aider. |
|
Baboso Codeur


  Age : 20 Inscrit le : 23 Mai 2008 Messages : 104 Localisation : Bordeaux Status Perso: Soldat Caste: Chevalier Faction: Eclaireur
 | Sujet: Re: problème models avec les foreign key Mar 19 Aoû - 21:39 | |
| Tu as oublié de mettre les (models.Model) dans la déclaration des classes.
| Code: | class BrancheMission(models.Model): bg = models.IntegerField("borne gauche") bd = models.IntegerField("borne droite") nombreRequis = models.IntegerField("nombre de sous-mission requise pour finir la mission") ordre = models.BooleanField("sous-mission ordonnée ou non")
class Mission(models.Model): idBrancheFeuille = models.ForeignKey(BrancheMission, verbose_name="id de la branche") nom = models.CharField("nom", max_length=50) description = models.TextField("description", max_length=500) image = models.ImageField("image de la mission",upload_to='mission/vignette/') xprequise = models.IntegerField("expérience requise pour débloquer la mission") typeJoueur = models.IntegerField("type de joueur requis pour la mission",choices=TYPE_JOUEUR) def __unicode_(self): return u'%s' % self.nom |
_________________ I'm happy. |
|
Anthony Expert

  Age : 21 Inscrit le : 06 Déc 2007 Messages : 62 Localisation : Cholet FRANCE Status Perso: Soldat Caste: Dragon Faction: Fantassin
 | Sujet: Re: problème models avec les foreign key Mer 20 Aoû - 22:21 | |
| Merci Baboso, je tournai en rond. J'ai bien fait de poser la question sur le forum |
|
Baboso Codeur


  Age : 20 Inscrit le : 23 Mai 2008 Messages : 104 Localisation : Bordeaux Status Perso: Soldat Caste: Chevalier Faction: Eclaireur
 | Sujet: Re: problème models avec les foreign key Jeu 21 Aoû - 10:38 | |
| On fait souvent des erreurs de ce style mais il vaut mieux ne pas perdre de temps avec. J'ai une technique propre à moi : si vraiment je ne comprends pas un "bug", je compare mon code avec un autre qui a la même structure mais qui est fonctionnel. _________________ I'm happy. |
|