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!