Bonjour.
En tant que débutant, je vous demande un peu de compréhension si ma question et mes erreurs sont simplistes...
Je suis confronté à un problème. Je souhaiterai tester si un champs d'un models est Vrai ou Faux dans le views.py
Voici les class concernés dans mon models.py:
Et voici mon fichier views.py (Attention, il n'est pas complet !)
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 class Communaute(models.Model): nom=models.CharField(max_length=50, verbose_name="Nom de la communauté", unique=True) #nom de la communauté description=models.TextField(blank=True, verbose_name="Description") TYPE_COMMUNAUTE=( ('PUBLIQUE','Publique'), ('PRIVEE','Privée'), ) type_communaute=models.CharField(max_length=50, verbose_name="Type de la communauté", choices=TYPE_COMMUNAUTE) inscriptionauto=models.BooleanField(default=False, verbose_name="Inscription automatique") membres=models.ManyToManyField(User, through='Rejoindre', verbose_name="Communaute", null=True, blank=True) def __unicode__(self): return self.nom class Rejoindre(models.Model): createur = models.BooleanField(default=False, verbose_name="Créateur de la communaute") date = models.DateTimeField(auto_now_add=True, auto_now=False,verbose_name="Rejoins depuis le:") user = models.ForeignKey(User) communaute=models.ForeignKey(Communaute) postuler=models.BooleanField(default=False, verbose_name="La personne a t'elle postulée") refuser=models.BooleanField(default=False, verbose_name="La personne est elle refusée") def __unicode__(self): return "Communauté: {0}".format(self.communaute.nom)
J'ai donc le message d'erreur suivant:
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 def details_communaute(request, id): try: communaute=Communaute.objects.get(id=id) except Communaute.DoesNotExist: raise Http404 messages=MessagePublic.objects.filter(communaute=communaute).order_by('-date') masquer=True inscrire=True if communaute.type_communaute=="PUBLIQUE": masquer=False for membre in communaute.membres.all(): if membre==request.user: inscrire=False else: for membre in communaute.membres.all(): if membre==request.user: rejoindre=Rejoindre.objects.filter(user=membre,communaute=communaute) if rejoindre.refuser==True : inscrire=False masquer=True else: masquer=False inscire=False
AttributeError at /communaute/num-4/
'QuerySet' object has no attribute 'refuser'
Request Method: GET
Request URL: http://localhost:8000/communaute/num-4/
Django Version: 1.5.4
Exception Type: AttributeError
Exception Value:
'QuerySet' object has no attribute 'refuser'
Python Version: 3.3.2
Après plusieurs tentatives en bidouillant le code, je n'arrive pas à régler le problème.
Ma question est donc plutôt simple, comment tester si le champs Rejoindre.refuser pour l'utilisateur connecté et la communauté sélectionnée est "vrai"?
Merci d'avance![]()
Partager