Я расширил модель пользователя с помощью своего приложения account
.
Приложение «Учетная запись модели»:
from django.db import models
from django.contrib.auth.models import User
from departments.models import Department
class Account(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
profile_pic = models.ImageField(upload_to='profile_pics', blank=True)
department = models.ForeignKey(
Department, on_delete=models.SET_NULL, null=True, related_name='department')
def __str__(self):
return self.user.username
Теперь мне нужно отправить количество пользователей из того же отдела в мой шаблон...
Вид:
from django.contrib.auth.models import User
@login_required
def home(request):
context = {
'title': 'Dashboard',
'department_members': 'department_members': User.objects.filter(department=request.user.account.department).count(),
}
return render(request, 'app/dashboard.html', context)\
Department_members всегда равен 1, хотя у меня больше пользователей в одном и том же отделе.
Я полагаю, что проблема в том, что User
по умолчанию нет поля department
, поэтому я не могу сказать User.account.objects.filter(department=request.user.account.department)
Я пробовал много запросов и просматривал django
документы, но не смог найти правильный способ получения этой информации.
У кого-нибудь есть такая же проблема? Любые советы о том, как я могу лучше отлаживать/создавать свой запрос?
Спасибо всем заранее!
🤔 А знаете ли вы, что...
Django поддерживает маршрутизацию URL, что упрощает создание человекочитаемых URL-адресов.