Сделать так, чтобы пользователь мог редактировать свои данные только в админке django

Я создаю сайт, на котором пользователи могут добавлять информацию о себе или удалять ее, но я не хочу делать отдельную страницу в front end для этого... Есть ли способ, чтобы я мог позволить только зарегистрированному пользователю редактировать свои данные...

вот мой код models.py

from django.db import models
from django.contrib.auth.models import User

DEPARTMENTS = (
    ('CSE', 'Computer Science and Engineering'),
    ('ECE', 'Electronics and Communication Engineering'),
    ('EEE', 'Electrical and Electronics Engineering'),
    ('ME', 'Mechanical Engineering'),
    ('CE', 'Civil Engineering'),
    ('R&A', 'Robotics and Automation'),
)


class Staff(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    
    phone = models.CharField(max_length=100)
    address = models.CharField(max_length=100)
    designation = models.CharField(max_length=100)
    department = models.CharField(max_length=3, choices=DEPARTMENTS, default='CSE')
    bio = models.CharField(max_length=1000)
    join_date = models.DateField()
    scholar_id_link = models.CharField(max_length=100)
    irns_link = models.CharField(max_length=100)
    image = models.ImageField(upload_to='display_pictures', blank=True)
    def __str__(self):
        return self.user.get_username()+ " " + self.department + " " + self.designation
    
class WorkExperience(models.Model):
    staff = models.ForeignKey(Staff, on_delete=models.CASCADE, default=1)
    place = models.CharField(max_length=100)
    designation = models.CharField(max_length=100)
    start_date = models.DateField()
    end_date = models.DateField()
    def __str__(self):
        return self.staff.user.get_username() + " " + self.place + " " + self.designation
Вернуться на верх