2014-02-16 1 views
0

사용자에 대한 추가 정보를 내 사이트에 페이스 북으로 로그인하려고 시도 했으므로 UserProfile 모델을 만들었습니다.내 사용자 정의 사용자 모듈에서이 ''튜플 '객체의 속성'사진 '오류가 발생하지 않도록하려면 어떻게해야합니까?

이 내가 USERPROFILE 정의하는 방법은 다음과 같습니다

models.py를

from django.contrib.auth.models import User 
from django.db.models.signals import post_save 

class UserProfile(models.Model): 
    user = models.OneToOneField(User) 
    photo = models.TextField() 

    def create_user_profile(sender, instance, created, **kwargs): 
     if created: 
      UserProfile.objects.create(user=instance) 

    post_save.connect(create_user_profile, sender=User) 

settings.py

AUTH_PROFILE_MODULE = 'blog.UserProfile' 

그리고, 내가 파이썬 사회적 사용하고 있기 때문에 인증을 위해 -auth를 구현하려면 사용자 지정 파이프 라인을 저장해야합니다. UserProfile에있는 사용자의 이미지 URL

from blog.models import UserProfile 

def get_profile_picture(
    strategy, 
    user, 
    response, 
    details, 
    is_new=False, 
    *args, 
    **kwargs 
    ): 
    img_url = 'http://graph.facebook.com/%s/picture?type=large' \ 
     % response['id'] 
    profile = UserProfile.objects.get_or_create(user = user) 
    profile.photo = img_url 
    profile.save() 

하지만 다음 받고 있어요 오류 : '튜플'개체가 어떤 속성 '사진'

나는 USERPROFILE이 그 테이블의 정의입니다 때문에 속성 "사진"을 가지고 알고가 없습니다 :

내 코드가 잘못 되었습니까?

+1

UserProfile.objects.get_or_create()가 UserProfile 객체를 반환합니까? –

답변

5

오류로 인해 profile 변수는 튜플이며 UserProfile 인스턴스는 아닙니다. get_or_create은 (instance, created)의 튜플을 반환하기 때문입니다.

+0

감사합니다.이 작업은 다음과 같습니다. profile = UserProfile.objects.get_or_create (user = user) [0] – Boel