我有以下所示的類:爲什麼不使用flask sql alchemy更新記錄的屬性?
class Account(db.Model, flask_login.UserMixin):
__tablename__ = 'account'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(75))
username = db.Column(db.String(50))
password = db.Column(db.String(250))
admin = db.Column(db.Boolean)
def __init__(self, email='', username='', password='', admin=None):
self.email = email
self.username = username
self.password = password
self.admin = admin
def __repr__(self):
return '<Account %r>' % self.username
當我通過表單創建一個帳戶,管理員屬性將是None
。但是,當我訪問數據庫並嘗試手動將其設置爲True
時,該屬性將更新,但是當我再次訪問數據庫時,該屬性爲None
這非常煩人。
以下是我執行控制檯上:
account = Account.query.get(1)
account.admin = True
db.session.commit()
db.admin ----> True
exit()
#restart again
account = Account.query.get(1)
account.admin ----> None
我在做什麼錯?
'get'不需要重新獲取記錄。當'account.admin'爲'None'時,你確定你有一個乾淨的會話嗎? – univerio
除非'db.admin'不是錯字(應該是'account.admin'),否則我無法重現您的問題。請[edit]包含[mcve]。 – davidism