国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python - sqlalchemy更新數(shù)據(jù)報(bào)錯(cuò)

瀏覽:86日期:2022-08-12 16:39:16

問題描述

這是我的更新代碼

def alter(self,id,key,value):session = Goods().getsession()session.query(Goods).filter(Goods.id==id).update({key:value})session.close()

但是會報(bào)錯(cuò)

UnicodeEncodeError: ’latin-1’ codec can’t encode characters in position 0-1: ordinal not in range(256)

最新查錯(cuò)。打印如下

print type(id),type(key),type(value)

<type ’unicode’> <type ’unicode’> <type ’unicode’>127.0.0.1 - - [31/Mar/2017 06:32:05] 'GET /alter?id=1497&key=name&value=%E8%8D%A3%E8%80%80V9+%E6%89%8B%E6%9C%BA+%E9%93%82%E5%85%89%E9%87%91+%E5%85%A8%E7%BD%91%E9%80%9A4G(4G+RAM%2B64G+ROM)%E6%A0%87%E9%85%8D HTTP/1.1' 200 -

初步發(fā)現(xiàn)問題所在 數(shù)據(jù)庫為latin1編碼

然后封裝json的時(shí)候UnicodeDecodeError: ’utf8’ codec can’t decode bytes in position 90-91: unexpected end of data

代碼

def get(self):

session = Goods().getsession() goodslist = session.query(Goods) session.close() data = [] for goods in goodslist:tmp = {}tmp[’id’] = goods.idtmp[’name’] = goods.name //這里報(bào)錯(cuò)根源 帶空格tmp[’link’] = goods.linktmp[’price’] = goods.pricetmp[’commit’] = goods.commitdata.append(tmp) jsondata = json.dumps(data) //這里報(bào)錯(cuò)

問題解答

回答1:

沒怎么寫過,但是猜測一下

1. 確認(rèn)你的key和value都不為None2. 更新不用commit么

明顯是數(shù)據(jù)庫字符集設(shè)置有問題,請?jiān)O(shè)置數(shù)據(jù)庫字符集為UTF-8

如果不想設(shè)置數(shù)據(jù)庫,就解碼待插入的數(shù)據(jù) info_str.encode(’你的格式’)再插入

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 91看片淫黄大片.在线天堂 | 香蕉网站狼人久久五月亭亭 | 91理论片午午伦夜理片久久 | 手机看片午夜 | 免费看特黄特黄欧美大片 | 免费观看a级网站 | 亚洲视频在线观看视频 | 福利社在线 | 国产精品一国产精品 | 亚洲国产精品一区二区第四页 | 欧美视频综合 | 日韩精品一区二区三区中文字幕 | 国产呦精品一区二区三区网站 | 91精品久久久久含羞草 | 99国产精品久久久久久久日本 | 在线视频亚洲 | 两性午夜视频 | 九一国产| 在线国产高清 | 欧美一线免费http | 久热久操 | 欧美高清性色生活片免费观看 | 国产精品国产精品国产三级普 | 午夜日本一区二区三区 | 性色tv| 国产欧美自拍 | 日本亚洲国产 | 亚洲国产一区在线二区三区 | 亚洲毛片免费观看 | 手机在线免费看毛片 | 国产在线不卡视频 | 日本www色视频成人免费网站 | 一级特黄一欧美俄罗斯毛片 | 无限观看社区在线视频 | 国产日本欧美在线观看 | 亚洲一区中文 | 亚洲午夜色 | 亚洲欧美日韩国产 | 91久久香蕉青青草原娱乐 | 一级特色黄大片 | 国产一区二区中文字幕 |