Python social auth中用户名字段的问题

Python social auth中用户名字段的问题,python,django,python-social-auth,Python,Django,Python Social Auth,我正在使用Python socia auth作为face book。我修改了用户模型的默认Django行为并删除了username字段 我已在自定义用户模型中添加了此项:USERNAME\u字段='email' 但我在尝试登录时遇到此错误 TypeError at /complete/facebook/ 'username' is an invalid keyword argument for this function 我知道当它试图创建用户时,它找不到用户名字段,这会引发此错误 我已定义了

我正在使用Python socia auth作为face book。我修改了用户模型的默认Django行为并删除了
username
字段

我已在自定义用户模型中添加了此项:
USERNAME\u字段='email'

但我在尝试登录时遇到此错误

TypeError at /complete/facebook/
'username' is an invalid keyword argument for this function
我知道当它试图创建用户时,它找不到用户名字段,这会引发此错误

我已定义了以下设置,但问题仍然存在:

SOCIAL_AUTH_USER_MODEL = 'accounts.User'
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True

有什么解决办法吗?

我知道问题发布已经几个月了,但我遇到了同样的问题,找到了解决办法

这个问题可以通过使用管道来解决。默认管道执行以下操作:

def create_user(strategy, details, user=None, *args, **kwargs):
    if user:
        return {'is_new': False}

    fields = dict((name, kwargs.get(name) or details.get(name))
                  for name in strategy.setting('USER_FIELDS',
                                               USER_FIELDS))
    if not fields:
        return

    return {
        'is_new': True,
        'user': strategy.create_user(**fields)
    }

覆盖设置中的
USER\u字段
,只保留
电子邮件
。或者,您可以创建全新的
create\u user
方法。

我有同样的问题,通过在create user字段中添加user参数解决了这个问题。。 无:社交身份验证需要参数“username”。它实际上没有被使用

    class UserManager(BaseUserManager):
def create_user(self, email,username=None, full_name=None, password='&btCqv"}@,4TWd6A'):
    if not email:
        raise ValueError("Users must have an email address")
    if not password:
        raise ValueError("Users must have a password")
    user = self.model(
        email=self.normalize_email(email),
    )
    user.set_password(password)  # change user password
    user.staff = is_staff
    user.admin = is_admin
    user.is_active = is_active
    user.save(using=self._db)
    return user

如果问题仍然存在,请参阅:

您是否找到解决此问题的方法?我面临着完全相同的问题。