Many To Many field and request.user not working

Viewed 60

I am trying to do a very simple request :

My model

class LogBook(models.Model):
name = models.CharField(
    max_length=50, verbose_name="Nom du registre de maintenance"
)
members = models.ManyToManyField(User, verbose_name="Utilisateurs", related_name = 'member')

Now if I tried in my view :

if request.user == log.members

To check whether or not the user belongs to the LogBook it does not deny access, any idea ?

1 Answers

log.members is a manager, it is not a single user, nor is it even a QuerySet. You can check if this users exists with:

if request.user in log.members.all():
    # …

or with a .filter(…):

if log.members.filter(pk=request.user.pk).exists():
    # …
Related