Я думаю, что можно создать модель с отношением один к одному с классом пользователя, как сказано в документации:
https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#extending-the-existing-user-model
и в этой модели положитьпользовательские данные, которые вы хотите редактировать, а привилегированная роль может редактировать непривилегированные
Я оставляю пример, который использовал:
from django.contrib.auth.models import User
from django.db import models
class Profile(models.Model):
"""Profile model
Proxi model that extends de base data
with orher information
"""
user = models.OneToOneField(User, on_delete=models.CASCADE)
website = models.URLField(max_length=200, blank=True)
biography = models.TextField(blank=True)
phone_number = models.CharField(max_length=20, blank=True)
picture = models.ImageField(
upload_to="users/pictures",
blank=True,
null=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def __str__(self):
return self.user.username
Я надеюсь, что он может быть вам полезен