在Django中扩展social_auth用户模型
我第一次使用Django social auth,似乎所有新用户都在我Django网站的social_auth应用程序的用户模型中注册。我有一个不同的模型叫做用户,它有一些特定的数据(与网站中的用户活动以及与其他实体的关系有关),我想把从用户的Facebook个人资料(用户名、个人资料图片等)中获取的数据放入我自己制作的用户模型中。是否有任何方法可以扩展社交授权用户 编辑 在阅读Django social auth文档后,我编辑了我的用户类,如下所示:在Django中扩展social_auth用户模型,django,django-socialauth,Django,Django Socialauth,我第一次使用Django social auth,似乎所有新用户都在我Django网站的social_auth应用程序的用户模型中注册。我有一个不同的模型叫做用户,它有一些特定的数据(与网站中的用户活动以及与其他实体的关系有关),我想把从用户的Facebook个人资料(用户名、个人资料图片等)中获取的数据放入我自己制作的用户模型中。是否有任何方法可以扩展社交授权用户 编辑 在阅读Django social auth文档后,我编辑了我的用户类,如下所示: # User model 类用户(mod
# User model
类用户(models.Model):
另外,我如何获得用户的个人资料图片、好友列表等?
我不明白这是怎么回事
非常感谢 从文档中:
如果需要,可以覆盖使用的用户模型:
SOCIAL\u AUTH\u USER\u MODEL='myapp.CustomUser'
来源:我根据需要创建了一个自定义管理器类,并将其命名为
CustomUserManager
代码如下:
class CustomUserManager(models.Manager):
def create_user(self, username, email):
return self.model._default_manager.create(username=username)
然后我将我的用户类更改为:
class User(models.Model):
username = models.CharField(max_length=30)
last_login = models.DateTimeField(blank=True, null=True)
is_active = models.BooleanField(default=False)
playedHours = models.FloatField(default = 0)
objects = CustomUserManager()
playedSongs = models.ManyToManyField(Song, blank=True, null = True)
invitedFriends = models.ManyToManyField('self', blank = True, null = True)
def __unicode__(self):
return self.username
def is_authenticated(self):
return True
在my settings.py中:
SOCIAL_AUTH_USER_MODEL = 'myappname.User'
感谢Argskwags的帮助:)我不知道该如何继续。我找不到create_user()方法。如何添加模型管理器和create_user方法?对不起,这是我第一次使用Django social auth
SOCIAL_AUTH_USER_MODEL = 'myappname.User'