Шаг-1. django-admin startproject twoadminproject
Шаг 2. cd twoadminproject
Шаг-3. python manage.py startapp twoadminapp
Шаг 4. Измените models.py приложения "twoadminapp":
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
created_by = models.CharField(max_length=30, blank=True, null=True)
Шаг 5. Измените settings.py:
# Add you app in INSTALLED_APPS list
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'twoadminapp',
]
# Add one line at the end
AUTH_USER_MODEL = 'twoadminapp.User'
Шаг 6. python manage.py makemigrations
Шаг-7. python manage.py migrate
Шаг-8. python manage.py createsuperuser
(выполнить эту команду дважды для создания двух пользователей с правами администратора)
Шаг-9. Измените admin.py приложения «twoadminapp»:
from django.contrib import admin
from .models import User
# Register your models here.
class UserAdmin(admin.ModelAdmin):
def get_queryset(self, request):
users = super(UserAdmin, self).get_queryset(request)
return users.filter(created_by=request.user.username)
admin.site.register(User, UserAdmin)
Таким образом, всякий раз, когда вы добавляете пользователя из панели администратора, вам необходимо заполнить имя пользователя admin в созданном поле «add user form» или вы можете инициализироватьэто в forms.py