Поиск имени и фамилии пользователя Запрос Django
В моем приложении Django есть модуль 'users', который я использую для создания профилей. Мне нужна помощь в том, как запросить и найти имя и фамилию пользователя в зависимости от профиля в 'users'.
users/models.py
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return f'{self.user.username} Profile'
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
Я не уверен, но как я могу найти 'user.first_name' и 'user.last_name' используя только Profile. Что-то вроде:
queryset = User.objects.values('first_name').filter(Profile=Profile_var)
попробуйте это
Profile.objects.filter(pk=profile_id).values('user__first_name','user__last_name')
ОБНОВИТЬ с определенной целью.
def load_persons(request):
#this is Ajax call from my HTML page/script
department = request.GET.get('department')
profile = Profile.objects.filter(department_id=department)
if profile:# we check that the profile exists first
first_name = profile[0].user.first_name
last_name = profile[0].user.last_name
Предположим, что у вас есть profile
экземпляр объекта Profile
.
Поскольку объект User
является OneToOneField
к объекту Profile
.
Тогда, если у вас есть экземпляр profile
:
username = profile.user.user_name
last_name = profile.user.last_name
Больше о Django OneToOneField