第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遍歷完后就變空了,請問是什么原因造成的呢,如何解決?

遍歷完后就變空了,請問是什么原因造成的呢,如何解決?

白板的微信 2023-04-08 21:17:17
例如:db = web.database(dbn='sqlite', db='data.db') #設(shè)置數(shù)據(jù)庫連接q = db.select('customer_order', order='id DESC') #返回數(shù)據(jù)得到結(jié)果后,查詢q[1]返回<Storage {'customer_name': u'\u5e7f\u4e49', 'update_time': None, 'create_time': u'2012-03-05 22:44:07.428652', 'description': u'nice', 'id': 4}>再查詢q[1]返回Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "web/utils.py", line 669, in __getitem__     raise IndexError, "already passed "+str(i) IndexError: already passed 1
查看完整描述

2 回答

?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

Python 中的迭代器本來就是一次性的,無論是生成器表達式還是 yield 都是這樣。如果你需要多次使用,應(yīng)該先用 list 工廠函數(shù)將迭代器轉(zhuǎn)換成列表。當(dāng)然,轉(zhuǎn)換之后迭代器就空了,但是數(shù)據(jù)保存到了列表中。

查看完整回答
反對 回復(fù) 2023-04-11
?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

所以這就是需要ORM的重要性啦
不要直接把DB select的結(jié)果返回 而是包裝成一個model的Object返回 
可以用第三方的 或者簡單就自己定義對象和set值
這樣就可以避免這種迭代一次的情況,更重要的是,當(dāng)你這個db方法被很多地方調(diào)用的時候,如果要加一點字段,就很惡心了,到處改,封裝成model再返回,就只需要改一個地方啦,把修改集中。

查看完整回答
反對 回復(fù) 2023-04-11
  • 2 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號