Как написать свой декоратор в django?
Для начала, расширь модель юзера, чтобы не костылить всякими там таблицами typeUser:
1) В основном app'е (у меня это обычно core) создай модель User, унаследованную от AbstractUser:from django.db import models
from django.contrib.auth.models import AbstractUser

# Это лучше перенести в отдельный файл consts.py
USER_ADMIN = 'adm'
USER_MANAGER = 'mng'
USER_VASYA = 'vas'

USER_TYPES = (
    (USER_ADMIN, 'Администратор'),
    (USER_MANAGER, 'Менеджер'),
    (USER_VASYA, 'Вася'),
)


class User(AbstractUser):
    type = models.CharField(max_length=3, choices=USER_TYPES)

    class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'
2) В settings.py добавить:
AUTH_USER_MODEL = 'core.User'  # Где core - твой app
3) makemigrations и migrate
Если ещё не добрался до Class Based Views, то самое время.
Делаешь такой, например, миксин:from django.core.exceptions import PermissionDenied
# тут импорт USER_VASYA

class VasyaRequiredMixin(object):
    def dispatch(self, request, *args, **kwargs):
        if request.user.type != USER_VASYA:
            raise PermissionDenied
        return super(VasyaRequiredMixin, self).dispatch(request, *args, **kwargs)
И все вьюхи, которые доступны только Васе наследуешь ещё и от этого миксина, например так:class VasyaView(VasyaRequiredMixin, View):
    def get(self, request, *args, **kwargs):
        return HttpResponse('Vasya molodec')
Для такой задачи вам нужна связка decorator + middleware