IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Problème basic avec views


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut Problème basic avec views
    Bonjour à tous,

    Je débute avec App Engine, Django et Python !! Tout d'un coup, ça fait beaucoup mais bon, j'ai pas trop le choix...
    J'ai un problème avec une de mes views :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @csrf_exempt
    def get_establishments(request, user_id):
        try:
            _establishment = Establishment.objects.all()                               
            json_data = '{"establishments": ' + json.dumps(_establishment) + '}'           
            #json_data = '{"establishments": [{"id":1,"lat":10,"lng":10,"type":"village"},{"id":2,"lat":20,"lng":20,"type":"ville"},{"id":3,"lat":30,"lng":30,"type":"ville"}]}' #' + json.dumps(_ugas) + '
     
            return HttpResponse(json_data.encode('utf8'), content_type='application/json; charset=utf-8')
     
        except Exception, exception:
            return utility.create_http_error_response(exception.message)
    Quand je suis en mode debug (sous eclipse), la variable _establishment est à "Unable to get repr for <class 'django.db.models.query.QuerySet' puis passe à QuerySet[]. Une exception est retournée lorsque json.dumps(_establishment) est exécuté. J'ai aussi tenté avec _establishment = Establishment.objects.count() : le nombre d'enregistrements correspondant à ma table est bien retourné.

    Voici le modèle utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    class Establishment(models.Model):
        id =  models.AutoField(primary_key=True)
     
        lat = models.FloatField()
        lng = models.FloatField()    
        coro = models.BooleanField()
        ugazone =  models.ForeignKey(UGAzone)
        postalCode = models.CharField(max_length=5)
        commune = models.CharField(max_length=200)
     
        performance = models.URLField(max_length=200)
     
        establishments = models.ManyToManyField('self', symmetrical=False, through='PatientCircuit')
        protocol = models.ForeignKey(Protocol)    
     
        def as_dict(self):   
            return dict(id=self.id, lat=self.lat, lng=self.lng)  
     
        def as_json(self):
            return json.dumps(self.as_dict())
     
        def __unicode__(self):
            return self.id
    Pourriez-vous m'aider à comprendre mon problème? Merci d'avance !!

  2. #2
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    J'ai essayé la "requête" suivante : establishment_set = Establishment.objects.filter(id='1').values()
    En faisant un logging.debug(establishment_set), j'obtiens ceci :
    DatabaseError: (1054, "Unknown column 'apli_establishment.ugazone_id' in 'field list'")

    Quand je visualise ma base avec MySQL WorkBench, je n'ai pas la colonne "ugazone_id" mais la colonne "ugazone". Pourquoi cette différence alors que la base est générée à partir du modèle (via manage.py syncdb)?

    #Edit
    En fait c'est un peu plus sioux. Dans MySQL WorkBench il m'indique deux noms différents "ugazone" et "ugazone_id" pour la colonne selon où est affichée l'information... Si je fais la requête suivante : "describe bdd.apli_establishment;" alors la colonne a pour nom "ugazone". Comment je peux m'en sortir?

  3. #3
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    Finalement le modèle de données a été modifié et je n'ai plus le problème (ugazone est devenu un CharField et n'est plus clé étrangère).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.6] Problème avec View et Order By
    Par lschim dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/01/2015, 10h18
  2. [Débutant] Probléme de print view avec la date
    Par karimup02 dans le forum VB.NET
    Réponses: 7
    Dernier message: 11/08/2011, 16h11
  3. Problème basic avec Webdev 15
    Par Pdelbauve dans le forum WebDev
    Réponses: 1
    Dernier message: 13/03/2011, 22h20
  4. problème sql avec les concepteurs visual basic
    Par Le Rebel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/05/2006, 10h25
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo