我已经定义了User
模型:
class User(BaseMixin, db.Model, DictSerializable):
__tablename__ = 'user'
email = db.Column(EmailType, nullable=False)
username = db.Column(db.Unicode(255), nullable=False)
password = db.Column(PasswordType(
schemes=[
'pbkdf2_sha512',
],
))
def __init__(self, email, password):
self.email = email
self.username = email
self.password = password
我想要做的就是在我创建__init__
方法之前已经存在的用户通过flask shell(通过docker)设置密码。
我已经意识到我不能只做ol,
from project_name.models import db, User
user = User.query.first()
user.password = 'foo'
db.session.commit()
那么,任何人可以帮助我吗?
答案 0 :(得分:1)
PasswordType
的文档说它依赖于sqlalchemy_utils.force_auto_coercion
在您定义模型之前运行:
from sqlalchemy_utils import force_auto_coercion
force_auto_coercion()
...
class User(db.Model):
...
一旦这样做,该值实际上会持续存在。