django 自定义UserManger,其中的self.model()具体调用路径/实现?

背景:

  1. 我新建了一个User类,指定其objects=UserManager(),即下方的代码。
  2. 当需要创建一个User时,代码为 User.object.create(...,...,....),此时调用的便是下方代码中的self.model(...,...)

疑惑

  1. 此时的self指的是谁?
  2. 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

https://blog.csdn.net/weixin_42336574/article/details/97108396

去BaseUserManager找吧,它是父类,只要父类里有的属性和方法,都可以继承。