bonjour tout le monde,
Tout d'abords, je vous donne mes models :
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 class Category(models.Model): name = models.CharField(max_length=32, unique=True) def __str__(self): return self.name class Student(models.Model): class Meta: ordering = ('last_name',) first_name = models.CharField(max_length=32) last_name = models.CharField(max_length=32) category = models.ManyToManyField(Category, through="CategoryStudent") def __str__(self): return f'{self.first_name} {self.last_name}' class CategoryStudent(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) category = models.ForeignKey(Category, on_delete=models.CASCADE) notes = models.PositiveIntegerField()
J'ai un souci avec une requête dans la vue. Ce que je souhaiterai faire, c'est de récupérer si possible en une seule requête, la liste de tous les élèves qui ont une note dans le cours d'anglais.
Comment puis je obtenir la valeur du champ "notes" ? Pour le moment, j'ai fait ceci :
J'ai une belle erreur lorsque j'essaie d'accéder au champs notes. L'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def temp(request): rows = Student.objects.filter(category__name="Anglais") print('>>>', rows) #j'obtiens bien quelque chose for row in rows: print('>>>> ', row.notes) return HttpResponse('yey')
Dans le template, est il possible aussi de récupérer cet attribut ? (Là, j'ai renvoyé une simple réponse http. Sinon, comment ça se passe ?)AttributeError at /
'Student' object has no attribute 'notes'
Par avance, je vous remercie infiniment de votre aide.
prenez soin de vous et je vous souhaite une très belle journée
Partager