Django: Регистрация моделей на сайте администратора динамически по запросу
У меня есть несколько моделей django, зарегистрированных на моем административном сайте путем объявления их в моем файле admin.py
. Однако я не хочу, чтобы определенные внутренние пользователи могли видеть определенные таблицы. Есть ли способ динамической регистрации моделей на сайте администратора при получении запроса?
например, если request.user.email имеет домен .gmail, не регистрируйте таблицу пользователя.
admin.py
from django.contrib.admin import AdminSite
admin_site = MyAdminSite()
for model_name, model in app.models.items():
model_admin = type(model_name + "Admin", (admin.ModelAdmin, ), {'list_display': tuple([field.name for field in model._meta.fields])})
admin.site.register(model, model_admin)