Fin de la version 2 pour le 25 octobre! Consulter le planning pour voir vos taches, merci de le respecter ! Bon travail =) !
AccueilGalerieFAQRechercherS'enregistrerConnexion
Poster un nouveau sujet   Répondre au sujet
 

problème models avec les foreign key

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Anthony
Expert


CancerChat
Age : 21
Inscrit le : 06 Déc 2007
Messages : 62
Localisation : Cholet FRANCE

Status
Perso: Soldat Soldat
Caste: Dragon Dragon
Faction: Fantassin Fantassin

MessageSujet: 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.
Revenir en haut Aller en bas
Baboso
Codeur
Codeur


CancerDragon
Age : 20
Inscrit le : 23 Mai 2008
Messages : 104
Localisation : Bordeaux

Status
Perso: Soldat Soldat
Caste: Chevalier Chevalier
Faction: Eclaireur Eclaireur

MessageSujet: 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.
Revenir en haut Aller en bas
Anthony
Expert


CancerChat
Age : 21
Inscrit le : 06 Déc 2007
Messages : 62
Localisation : Cholet FRANCE

Status
Perso: Soldat Soldat
Caste: Dragon Dragon
Faction: Fantassin Fantassin

MessageSujet: 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
Revenir en haut Aller en bas
Baboso
Codeur
Codeur


CancerDragon
Age : 20
Inscrit le : 23 Mai 2008
Messages : 104
Localisation : Bordeaux

Status
Perso: Soldat Soldat
Caste: Chevalier Chevalier
Faction: Eclaireur Eclaireur

MessageSujet: 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. Wink 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.
Revenir en haut Aller en bas

problème models avec les foreign key

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Miraemos :: Sur Terre :: Probleme technique-
Poster un nouveau sujet   Répondre au sujet