Django: Фильтруйте записи AbstractUser с помощью SQL, показывайте только записи зарегистрированных пользователей

У меня есть AbstractUser. Я хочу ограничить показываемые им записи только своими собственными (показывать только записи вошедшего пользователя). Я бы очень хотел сделать это с помощью SQL-запроса, так как есть соседние таблицы, с которыми нужно работать.

Есть идеи?

models.py

class Teacher(AbstractUser):
    profile = models.ManyToManyField(Profile, through='TeacherProfile')
    unit = models.ManyToManyField(Unit, through='TeacherUnit')
    mobile = models.CharField(max_length=16)
    email = models.EmailField(max_length=100, unique=True)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username', 'first_name', 'last_name']

    def __str__(self):
        return self.email

Для этого можно использовать декоратор django login_required.

from django.contrib.auth.decorators import login_required

@login_required
def myview(request):
   pass

это защитит ваше представление от доступа к нему тех, кто не вошел в систему, и перенаправит их на страницу входа

И как вы сказали, чтобы получить информацию о текущем вошедшем пользователе, вы можете сделать это с помощью :

@login_required
def myview(request):
   user = request.user
   

request.user даст вам текущего вошедшего пользователя

Вернуться на верх