От пользователя не может запрашивать модели. Модель - PullRequest
0 голосов
/ 21 мая 2019

При использовании запроса из оболочки я получил:

>>> q = User.objects.get(username='TestUser')
>>> q.agence

Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'User' object has no attribute 'agence'

Из интерфейса администратора я уже назначил выбор.И я не могу увидеть это с моделью Query

:

def CreateListDomaines():
    nameQuery = Domaine.objects.all().values_list('nomDomaine', flat=True)
    domaines = []

    i = 0
    for q in nameQuery :
        l = (str(i),q)
        domaines.append(l)
        i+=1

    return domaines

def CreateListAgences():
    nameQuery = Agence.objects.all().values_list('nomAgence', flat=True)
    agences = []

    i = 0
    for q in nameQuery :
        l = (str(i),q)
        agences.append(l)
        i+=1

    return agences

class Domaine(models.Model):
    nomDomaine = models.CharField(max_length=200,default=True)

    def __str__(self):
        return self.nomDomaine

class Agence(models.Model):
    nomAgence = models.CharField(max_length=200,default=True,null=False,blank=False)
    Ville = models.CharField(max_length=200, default=True,null=True,blank=True)
    Region = models.CharField(max_length=200,default=True,null=True,blank=True)
    Departement = models.CharField(max_length=200,default=True,null=True,blank=True)
    AgencetelephonePortable = PhoneNumberField(null=True,blank=True)

    def __str__(self):
        return self.nomAgence

class UserProfile(models.Model):
    domainesList = CreateListDomaines()
    agencesList = CreateListAgences()
    user = models.OneToOneField(User, on_delete=models.CASCADE,unique=True)
    domaine = models.CharField(choices=domainesList,max_length=50, null=True, blank=True)
    agence = models.CharField(choices=agencesList,max_length=50, null=True, blank=True)

    def __str__(self):
        return self.user.username

В настоящее время я не могу знать, какой выбор был назначен для модели User из оболочки.

1 Ответ

1 голос
/ 21 мая 2019

agence является атрибутом UserProfile, а не User.Попробуйте с:

>>> q = User.objects.get(username='TestUser')
>>> q.userprofile.agence
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...