Я возвращался вперед и назад между двумя учебными пособиями по созданию пользовательских пользовательских моделей:
https://simpleisbetterthancomplex.com/tutorial/2018/01/18/how-to-implement-multiple-user-types-with-django.html
и https://wsvincent.com/django-tips-custom-user-model/
Пока вот мой код:
Модель:
class CustomUser(AbstractUser):
is_admin = models.BooleanField('admin status', default=False)
is_areamanager = models.BooleanField('areamanager status', default=False)
is_sitemanager = models.BooleanField('sitemanager status', default=False)
Форма:
class CustomUserCreationForm(UserCreationForm):
class Meta(UserCreationForm.Meta):
model = CustomUser
class CustomUserChangeForm(UserChangeForm):
class Meta(UserChangeForm.Meta):
model = CustomUser
Администратор:
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
form = CustomUserChangeForm
model = CustomUser
list_display = ['email', 'username',]
admin.site.register(CustomUser, CustomUserAdmin)
В этот момент я ударился об стенку. Я не уверен, в каком направлении go ограничивать доступ пользователей к контенту. Моя общая идея заключается в том, что я хочу, чтобы администраторы имели доступ ко всему, у администраторов областей был следующий уровень доступа, у менеджера сайтов - после этого, затем у обычных пользователей (false для всех логических проверок) были базовые привилегии.
Это лучший маршрут к go для такого рода реализации? Откуда мне go отсюда и почему?