超大玉螺旋丸 2020-05-05 22:00 采纳率: 0%
浏览 564

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
  • 写回答

2条回答 默认 最新

  • dabocaiqq 2020-05-06 11:26
    关注
    评论

报告相同问题?