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)