django - 在 Django 中扩展 social_auth 用户模型

标签 django django-socialauth

我是第一次使用 Django-social-auth,似乎所有新用户都注册在我的 Django 网站的 social_auth 应用程序的用户模型中。我有一个名为 Users 的不同模型,它具有一些特定数据(与站点中的用户事件以及与其他实体的关系相关),我想将从用户的 Facebook 个人资料(用户名、个人资料图片等)中获取的数据放入用户我自己制作的模型。有没有办法扩展social_auth 用户?

编辑
在阅读了 Django-social-auth 文档后,我编辑了我的 User 类如下:

# User model

类用户(模型。模型):
username = models.CharField(max_length=30)
last_login = models.DateTimeField(blank=True)
is_active = models.BooleanField(default=False)
playedHours = models.FloatField(default = 0)


userSlug = models.SlugField(unique = True)    

playedSongs = models.ManyToManyField(Song, blank=True, null = True)
invitedFriends = models.ManyToManyField('self', blank = True, null = True)

def __unicode__(self):
    return self.name

另外,如何获取用户的个人资料图片、好友列表等?
我不明白这是什么机制。

非常感谢 !

最佳答案

我根据需要创建了一个自定义 Manager 类,并将其命名为 CustomUserManager .

这是代码:

class CustomUserManager(models.Manager):
    def create_user(self, username, email):
        return self.model._default_manager.create(username=username)

然后我将我的 User 类更改为:
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    

在我的 settings.py 中:
SOCIAL_AUTH_USER_MODEL = 'myappname.User'

感谢 ArgsKwargs 的帮助:)

关于django - 在 Django 中扩展 social_auth 用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10564023/

相关文章:

python - 使用什么方法来确定用户是否连接到 facebook

django - 从不同模型生成单个提要的最佳方法是什么?

python - django-social-auth : custom response during pipeline execution

javascript - 使用表单时的 Django javascript 问题

python - Django 应用程序中缺少 runTest 函数

Django 社交授权 : Google OAuth2 - only display emails from restricted domain list

django-allauth 和 twitter 集成 - 社交网络登录失败

从 django-social-auth 导入测试时出现 Python 导入错误

python - 使用 REST API 上传图片

python - Django-Tastypie : Omit one specific object to be serialized in ManyToMany