亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python - sqlalchemy更新數據報錯

瀏覽:99日期: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()

但是會報錯

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

最新查錯。打印如下

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 -

初步發現問題所在 數據庫為latin1編碼

然后封裝json的時候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 //這里報錯根源 帶空格tmp[’link’] = goods.linktmp[’price’] = goods.pricetmp[’commit’] = goods.commitdata.append(tmp) jsondata = json.dumps(data) //這里報錯

問題解答

回答1:

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

1. 確認你的key和value都不為None2. 更新不用commit么

明顯是數據庫字符集設置有問題,請設置數據庫字符集為UTF-8

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 伊人网综合在线 | 欧美日产欧美日产精品 | 免费大黄网站在线观看 | 美日韩黄色大片 | 在线观看www成人影院 | 国产欧美日韩精品高清二区综合区 | 91视频免费播放 | 特级做a爰片毛片免费看一区 | 免费福利片 | 国产成人在线视频网站 | 久久久社区 | a级毛片视频免费观看 | 欧美性色黄大片一级毛片视频 | 国产精品亚洲高清一区二区 | 欧美深夜福利视频 | 久久成人国产精品 | 欧美高清免费精品国产自 | 黄色一级免费网站 | 国产美女自拍 | 无码免费一区二区三区免费播放 | 色综合久久91 | 伦理片一区 | 污网站大全| 日本公妇色中文字幕 | 国产在线不卡一区 | 理论片 国产台湾在线 | 国产成人综合日韩精品无 | 97r久久精品国产99国产精 | 久草在线观看福利视频 | aaa一级片 | 国产色婷婷精品综合在线观看 | 中国一级毛片录像 | 美国一级特色大黄 | 三级黄色免费 | 天天综合色天天桴色 | 亚洲精品福利在线 | 国产一区二区三区在线电影 | 91热这里只有精品 | 日本在线黄色网址 | 亚洲精品国产精品国自产观看 | a一级黄|