Django - Запрос или цикл for с исключением на основе логина пользователя

Hy,

У меня есть страница, доступ к которой возможен только если у пользователя есть magiclink (сделанный с помощью django-sesame). После открытия страницы с помощью этой магической ссылки я знаю, кто является пользователем, потому что когда генерируется ссылка, она включает информацию о пользователе и включает в эту ссылку.

Итак, проблема/вопрос: на этой странице я хочу показать имя и отдел для всех пользователей, кроме пользователей с тем же отделом, что и у пользователя, вошедшего в систему. Я не знаю, как сделать запрос в представлении или forloop в шаблоне с этим правилом.

Другими словами: если пользователь вошел в систему из отдела "hr", я хочу показать в шаблоне всех пользователей для всех отделов, кроме отдела "hr". Пожалуйста, помогите мне с решением.

models.py

class Profil(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
    username = models.CharField(max_length=200, blank=True, null=True)
    nume = models.CharField(max_length=200, blank=True, null=True)
    departament = models.CharField(max_length=200, blank=True, null=True)

view.py

@authenticate
def pagina_secreta(request):
    
    utilizatori = User.objects.all()
    context = {'utilizatori' : utilizatori}
    return render(request, 'feedback/pagina_secreta.html', context)

template.html

     {% for d in utilizatori %}
    
        {{d.profil.nume}} {{d.profil.departament}} <br><br>
    
        {% endfor %}

Спасибо

Вы можете отфильтровать отдел этого человека с помощью:

@authenticate
def pagina_secreta(request):
    utilizatori = User.objects.exclude(
        profil__departament=request.user.profil.departament
    )
    context = {'utilizatori' : utilizatori}
    return render(request, 'feedback/pagina_secreta.html', context)
Вернуться на верх