2017-10-17 19 views
0

에서 사용자의 프로파일을 얻을 않습니다. 여기에는 다른 정보가 들어 있습니다. 예 : 주소, 도시, 주 등는 어떻게 내가 로그인 한 사람에 대해 다음처럼 코드가 장고

이 상황에서 어떻게 사용자 프로필을 추출하나요? Eclipse에서 Java의 경우 "user"를 입력하면 유효한 메소드가 "user"객체에 적용되는 것을 볼 수 있습니다.

PyCharm에 이러한 기능이있는 것으로 보이지 않습니다.

그렇다면 사용자와 관련된 프로필 정보를 어떻게 찾을 수 있습니까?

class UserProfileInfo (models.Model): 
    class Meta: 

     db_table = 'mstrauthdjprofile' 
     db_tablespace = 'PSAPUSR1001' 

    user = models.OneToOneField(User) 

    restrole = models.BigIntegerField(blank=True, null=True, default=0) 

    profilepic = models.ImageField(upload_to='profile_pics', blank=True) 

    lastpgprocno = models.BigIntegerField(blank=True, null=True, default=-1) 
    currentpgprocno = models.BigIntegerField(blank=True, null=True, default=-1) 
    nextpgprocno = models.BigIntegerField(blank=True, null=True, default=1) 

    reclocktype = models.BigIntegerField(blank=True, null=True, default=0) 
    reclockid = models.BigIntegerField(blank=True, null=True, default=0) 

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

은 프로필 모델 코드 –

+0

@NeErAj 쿠마 추가 - 메시지에 추가했습니다. 어떤 아이디어? –

+1

'user.userprofileinfo'를 사용해 프로필 객체를 얻고 첫 번째'user'는 django 기본 사용자 인스턴스 여야합니다 –

답변

1

OneToOneField의 자신의 대응에서 항상 액세스 할 수 있습니다 : 다음은 TIA

은 프로파일 모델 코드입니다.

user = authenticate(username=username, password=password) 
user.userprofileinfo 

user = User.objects.first() 
user.userprofileinfo 

user_profile_info = UserProfileInfo.objects.first() 
user_profile_info.user 

당신은 (내가 PyCharm이 처리 할 수있는 자동화 된 방법이한다고 생각) 코드에 중단 점을 삽입하여 PDB 같은 디버거를 사용할 수 있습니다 : 당신이와 상호 작용 할 수

import pdb; pdb.set_trace() 

현재 범위. 당신은 또한 자동 완성 기능이 내장되어 IPython 또는 bpython, 같은 더 강력한/대화 형 디버거를 고려 __dict__

user.__dict__ 
{'username': 'user', 'id': 1, ...} 

와 객체가 어떤 속성을 볼 수 있습니다.