Модель авторизации Django слишком упрощена. Это просто проверка на разрешение модели в целом.
Для такого рода вещей вы в значительной степени вынуждены написать свои собственные функции просмотра, которые обрабатывают дополнительную проверку.
После того, как вы написали один или два, вы увидите шаблон. Тогда вы можете подумать о написании собственного декоратора, чтобы справиться с этим.
def profileView( request, object_id ):
p= Profile.objects.get( id=int(object_id) )
if request.session['user'] != p.get_user():
# respond with a 401 not authorized or a helpful message
# process normally, since the session['user'] is the user for the Profile.
Чтобы вышеперечисленное сработало, вам нужно включить сеансы и убедиться, что вы записываете пользователя в сеанс, когда он успешно входит в систему. Вам также нужно будет удалить сессию, когда они выйдут из системы.