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:
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)
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
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
J'ai donc le message d'erreur suivant:

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