檢索資料庫的成員函式。
def GetDb(self):
db = getattr(g, '_database', None)
if db is None:
db = g._database = sqlite3.connect(self.path)
db.row_factory = sqlite3.Row
return db
從資料庫查詢回傳串列的成員函式
def GetOrderItemsList(self, orderid):
list = []
with app.app_context():
db = self.GetDb()
cur = db.execute('SELECT * FROM ordersList WHERE orderId = ?',[orderid])
records = cur.fetchall();
for row in records:
print(row)
invid = row['inventoryId']
OrderItem
OrderItem.orderId = row['orderId']
OrderItem.productId = row['inventoryId']
OrderItem.productName = 'none'
OrderItem.quantity = row['quantity']
OrderItem.productPrice = row['price']
nextcur = db.execute('SELECT * FROM inventory WHERE invId = ?', [invid])
#nextcur = db.execute('SELECT * FROM inventory WHERE invId = 1') #works
res = nextcur.fetchone();
OrderItem.productName = res['invName']
print(res['invName'])
list.append(OrderItem)
return list
訂單項:
class OrderItem(object):
def __init__(self, ordId, invId, name, quantity, price):
self.orderId = ordId
self.productId = invId
self.productName = name
self.quantity = quantity
self.productPrice = price
錯誤資訊:
Traceback error OrderItem.productName = res['invName'] TypeError: 'NoneType' object is not subscriptable
錯誤
nextcur = db.execute('SELECT * FROM inventory WHERE invId = ?', [invid])
作品
nextcur = db.execute('SELECT * FROM inventory WHERE invId = 1')
已經為此戰斗了好幾個小時。在谷歌上搜索。在這里閱讀問題。
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
錯誤
'NoneType' object is not subscriptable
意味著您正在嘗試訪問不存在的物件的物件鍵,即物件是None。
請檢查這里
[invid]
invid 不是無,即列印(invid)
此外,問題可能是在這里
res['invName']
res是None,請res在訪問之前檢查(列印等)的內容invName,因為它是None。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358963.html
上一篇:啟動后燒瓶運行腳本
