背景:
- 我新建了一个User类,指定其objects=UserManager(),即下方的代码。
- 当需要创建一个User时,代码为 User.object.create(...,...,....),此时调用的便是下方代码中的self.model(...,...)
疑惑
- 此时的self指的是谁?
- self.model(),这个model()何处定义的,怎么能直接传入参数,源码看不太懂,请大神帮帮忙
代码
class UserManager(BaseUserManager):
def _create_user(self, telephone, username, password, **kwargs):
if not telephone:
raise ValueError('请传入手机号码!')
if not username:
raise ValueError('请传入用户名!')
if not password:
raise ValueError('请传入密码!')
user = self.model(telephone=telephone, username=username, **kwargs)
user.set_password(password)
return user