Django permissions define what a user is allowed to do. Each model gets add, change, delete and view permissions by default, which can be assigned to users or groups. You check them with user.has_perm(), the permission_required decorator or the equivalent mixin for class-based views.
Example
@permission_required('blog.change_post')
def edit_post(request, pk): ...