我允许用户通过facebook和username / passwd注册/登录。 因此,如果用户通过fb注册,那么如何保存"用户"没有用户名和密码的实例?
答案 0 :(得分:0)
你有两个选择:
首先:在两个字段中都允许空值。
第二次:覆盖一些像这样的方法:
create_user
中有一个名为pipeline
的函数,它调用用户模型管理员的create_user
。您可以自己覆盖该方法并创建密码:
def create_user(self, email, username, password, is_staff, is_superuser,
*args, **extra_fields):
"""
Creates and saves a User with the given username and password.
"""
now = timezone.now()
if not username:
username = '' # or randomly generated string
user = self.model(username=username, is_staff=is_staff, email=email,
is_active=True, is_superuser=is_superuser,
last_login=now, date_joined=now)
user.set_password(password) # this generates password
user.save(using=self._db)
return user
这将使用生成的用户名和密码保存用户。你可以随意改变它。