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 :

Operand should contain 1 column(s)') display book list


Sujet :

Django Python

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 66
    Points : 57
    Points
    57
    Par défaut Operand should contain 1 column(s)') display book list
    Bonjour,

    Je suis débutante sur django, j'ai deux tables , auteur et livre, chaque livre est crée par plusieurs auteur par contre ce dérnier à droit d'ecrire un seul livre, dans ma template j'aimerais afficher les auteurs qui ont ecris un seul livre
    voila mes classes

    models.py


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Book(models.Model):
            user = models.OneToOneField(User,related_name='user')
            name = models.CharField(default=0)
            def __unicode__(self):
                    return u'%s' % self.user
     
    class author(models.Model):
            name_auth = models.CharField(max_length=256)
            Book = models.ForeignKey(compte)
            def __unicode__(self):
                    return u'%s' % (self.name_auth)
    dans mon view.py

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Book1 =Book.objects.filter(user=request.user).values()
    Book1_id= Book1.id
    author = Author.objects.filter(pk=Book1_id).values
    reponse[author]=author
    dans mon html j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     {% for t in author %}
                                <td>{{ t.name }}</td>
     
            {% endfor %}
    quelqu'un pourrait-il m'aider à résoudre ce problème
    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Je n'utilise pas Django (préfère Flask) mais je vois deux choses dans ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    author = Author.objects.filter(pk=Book1_id).values
    Author ou author ? Et il ne manque pas de parenthèses à values ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     {% for t in author %}
                                <td>{{ t.name }}</td>
    Author n'a pas d'attribut name mais name_auth

    Juste deux cents.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Je n'utilise pas Django (préfère Flask) mais je vois deux choses dans ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    author = Author.objects.filter(pk=Book1_id).values
    Author ou author ? Et il ne manque pas de parenthèses à values ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     {% for t in author %}
                                <td>{{ t.name }}</td>
    Author n'a pas d'attribut name mais name_auth

    Juste deux cents.
    Merci pour tes remarques, cetait une erreur de copier/coller
    c'est bien
    [code]
    author = author.objects.filter(pk=Book1_id).values()
    [/code

    Et dans le template c'est bien <td>{{t.name_auth}}</td>

    Mais je ne peux pas récupérer ma liste d'auteur avec cette méthode

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Il est probable que l'erreur remonte du SGDB.
    "Book.objects.filter(user=request.user)" va faire un SELECT...WHERE...
    Et si request.user est plus compliqué qu'un "str", çà va planter.
    note: si request est la requete, request.user est une instance d'User et le nom de l'utilisateur serait plutôt request.user.username

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/01/2010, 08h50
  2. Réponses: 2
    Dernier message: 10/05/2009, 11h46
  3. #1241 - Operand should contain 1 column(s)
    Par Mister Paul dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/11/2008, 15h59
  4. #1241 - Operand should contain 1 column(s)
    Par yanidan dans le forum Requêtes
    Réponses: 8
    Dernier message: 29/02/2008, 15h30
  5. pb requete, reponse=Operand should contain 1 column(s)
    Par akara dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/06/2007, 21h14

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