django-guardian 1.0.4 documentation
Returns True if given user_obj has perm for obj. If no obj is given, False is returned.
Remember, that if user is not active, all checks would return False.
Main difference between Django’s ModelBackend is that we can pass obj instance here and perm doesn’t have to contain app_label as it can be retrieved from given obj.
Inactive user support
If user is authenticated but inactive at the same time, all checks always returns False.