'Return a boolean of whether the raw_password was correct. Handles
hashing formats behind the scenes.'

def check_password(self, raw_password):

    def setter(raw_password):
        self.set_password(raw_password)
        self._password = None
        self.save(update_fields=['password'])
    return check_password(raw_password, self.password, setter)
