python – ¿Cuando usar has_permission y has_object_permission? Django Rest Framework

estuve revisando un rato la doc. de drf y creo entender por fin el proposito de has_permission y has_object_permission. Sin embargo, tengo la siguiente duda:
¿Cuando se supone que hay que usar has_permission y has_object_permission?
Es decir, no hacen lo mismo las siguientes clases?

class IsSelfMember(BasePermission):
"""
Allow access only to the owner of the invitations.
"""

def has_permission(self, request, view):
    """
    Check if the obj owner are the same that the requesting user.
    """
    obj = view.get_object()

    return request.user == obj.user #Bool

#-----------------------------------------------------------


class IsSelfMember(BasePermission):
"""
Allow access only to the owner of the invitations.
"""

def has_permission(self, request, view):
    """
    Get the object and then call to `has_object_permission`.
    """
    obj = view.get_object()

    return self.has_object_permission(self, request, view, obj)


def has_object_permission(self, request, view, obj):
    """
    Check if the obj owner are the same that the requesting user.
    """
    return request.user == obj.user