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 :

requete django (complexe?)


Sujet :

Django Python

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2003
    Messages : 8
    Par défaut requete django (complexe?)
    Bonjour,
    voici mon probleme:
    - un UserType1 s'implique dans une Action
    - Cette Action implique une liste de UserType2
    - J'ai besoin de récuperer les champs (pour ensuite les serializer) de tous les UserType2 impliqués dans la même Action qu'un UserType1
    - A quoi ressemblerait cette requete ?
    '''
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    ## mes models
     
    class UserType1(models.Model):
        CreationDate = models.DateTimeField(blank=True)
        Email = models.EmailField()
        Lastname = models.CharField(max_length=50)
        ## and some other UserType1 specific fields
     
    class UserType2(models.Model):
        CreationDate = models.DateTimeField(blank=True)
        Email = models.EmailField()
        Name = models.CharField(max_length=50)
        City = models.CharField(max_length=50)
        ## and some other UserType2 specific fields
     
    class Action(models.Model):
        UserType1 = models.ForeignKey('user.UserType1')
        UserType2 = models.ForeignKey('user.UserType2')
        Subject = models.CharField(max_length=50)
        Message = models.TextField()
        ## and some other fields...
     
     
    ## Mon  views
     
    def UserType2_list(request,UserType1id):
        if request.method == 'GET':
     
            #on obtiens les id des UserType2 a partir des  Actions dans lesquelles sont impliqués un UserType1
     
            Obj_Actions = Actions.objects.filter(UserType1_id=UserType1id)
     
     
            a=0
            UserType2_list=[]
            while(a<len(Obj_Actions)):
                UserType2_list.append(UserType2.objects.filter(pk=Obj_Actions[a].UserType2_id).values('City', 'Name'))
                a+=1
     
            json = simplejson.dumps(UserType2, indent=3,cls=DateTimeAwareJSONEncoder)
            response =  HttpResponse(json, mimetype=MIME_TYPE)
    ## mais j'obtiens l'erreur

    [{'City': u'Paris', 'Name': u'Amazon'}] is not JSON serializable

    Et en plus je suis sur qu'il existe une methode beaucoup plus simple pour ça...

    Quelqu'un aurait-il une idée de la solution ?
    Je vous remercie d'avance!

  2. #2
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    salut,
    en modifiant peu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Action(models.Model):
        usertype1 = models.ForeignKey('user.UserType1', related_name="actions")
        usertype2 = models.ForeignKey('user.UserType2', related_name="actions")
    tu peux facilement faire une requête du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    users_type2 = UserType2.objects.filter(actions__usertype1__pk=id).distinct().values('city', 'nom')

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2003
    Messages : 8
    Par défaut
    Merci beaucoup pour ta réponse ! Je te tiendrai au courant dès que je pourrai tester

Discussions similaires

  1. Requete trop complexe
    Par sephirothmana dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/01/2007, 15h54
  2. requete sql complexe, que faire: 2 sql imbriques ou fonction date?
    Par Aliveli dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/06/2006, 20h20
  3. Requete SQL complexe
    Par isa21493 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/02/2006, 16h43
  4. Requete sql complexe
    Par ekinoxe dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/01/2006, 16h16
  5. Err. 3360 , 'Requete trop complexe'
    Par fabrice518 dans le forum Access
    Réponses: 4
    Dernier message: 18/11/2005, 14h43

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