Bonjour,

J'ai une relation Many to Many dans un Models et je souhaite l'afficher dans un template:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
#models.py
 
class Mission(models.Model):
    nom = models.ManyToManyField(Identite, blank=True, null=True)
    pays = models.ForeignKey(Pays)
    ville = models.CharField(max_length=15, null=True)
    date_depart = models.DateField(blank=True, null=True)
    date_retour = models.DateField(blank=True, null=True)
    vol = models.TextField(blank=True, default='', null=True)
    etat = models.BooleanField(default=False)
    document = models.ManyToManyField(Typedoc, null=True)
    #document = models.ManyToMany(Document, null=True)
    fichenavette = models.TextField(null=True)
    source = models.CharField(max_length=20, blank=True, default='', null=True)
 
 
    class Meta:
        ordering = ['nom']
 
 
    def something(self):
        return self.nom
 
 
 
class Doc_mission(models.Model):
    nom = models.ForeignKey(Identite, blank=True, null=True)
    mission = models.ForeignKey(Mission, null=True)
    document = models.ManyToManyField(Document)
 
    def __unicode__(self):
        return self.nom
 
#forms.py
 
class DocMissionForm(forms.ModelForm):
 
 
    document = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Document.objects.all()) #PErmet d'avoir des cases à cocher en fonction des valuers contenue dans Typedoc
 
    class Meta:
        model = Doc_mission
        fields = ['nom','mission','document']
        labels = {
            'nom' : 'Nom',
            'mission' : 'Nom de la mission',
            'document' : 'Document',
        }
 
#views.py
def detail_annexe2(request,idm,id):
#idm = id missiln
id = id user
    document = Document.objects.filter(nom_id=id)
    identite = Identite.objects.filter(id=id)
    assurance = Assurance.objects.filter(nom_id=id)
    mission = Mission.objects.filter(id=idm)
    hotel = Hotel.objects.filter(mission_id=idm)
    deplacement = Deplacement.objects.filter(mission_id=idm)
    locvoiture = LocVoiture.objects.filter(mission_id=idm)
    docmission = Doc_mission.objects.filter(mission_id=idm)
 
 
    return render(request, 'detail_annexe2.html', {'documents':document,  'identites': identite, 'assurances' : assurance, 'missions':mission,
                                                   'hotels':hotel, 'deplacements':deplacement,'locvoitures':locvoiture, 'docmissions':docmission})
Voici le code dans mon template pour afficher les documents relative à la mission, mais cela ne m'afiche rien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
            {% if docmissions %}{% for docmission in docmissions %}{% for p in docmission.mission.all %}<p><b>Documents:</b> {{ p.nom }}{% endfor %}{% endfor %}{% endif %}