Поиск имени и фамилии пользователя Запрос 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

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