編寫Python腳本把sqlAlchemy對象轉(zhuǎn)換成dict的教程
在用sqlAlchemy寫web應(yīng)用的時(shí)候,經(jīng)常會(huì)用json進(jìn)行通信,跟json最接近的對象就是dict,有時(shí)候操作dict也會(huì)比操作ORM對象更為方便,畢竟不用管數(shù)據(jù)庫session的狀態(tài)了。
假設(shè)數(shù)據(jù)庫里有一張post表,其中一種方法就是
p = session.query(Post).first() p.__dict__
但由于p是sqlAlchemy的對象,所以p.__dict__中會(huì)有一些其他的屬性比如_sa_instance這種我們不需要關(guān)注的
那么我們可以給model的基類加一個(gè)方法,假設(shè)models.py中原來是這樣
Base = sqlalchemy.ext.declarative.declarative_base() class Post(Base): __tablename__ = 'post' id = Column(Integer, primary_key=True) title = Column(String)
那么我們可以加一個(gè)to_dict()方法到Base類中
def to_dict(self): return {c.name: getattr(self, c.name, None) for c in self.__table__.columns} Base.to_dict = to_dict
這樣就可以
p = session.query(Post).first() p.to_dict()
當(dāng)然,如果model沒有和table綁定的話model里是沒有__table__的信息的,可能也會(huì)出問題,不過我目前覺得這樣最方便了
- Python SQLAlchemy基本操作和常用技巧(包含大量實(shí)例,非常好)
- Python的ORM框架SQLAlchemy入門教程
- Python ORM框架SQLAlchemy學(xué)習(xí)筆記之?dāng)?shù)據(jù)添加和事務(wù)回滾介紹
- Python ORM框架SQLAlchemy學(xué)習(xí)筆記之?dāng)?shù)據(jù)查詢實(shí)例
- Python ORM框架SQLAlchemy學(xué)習(xí)筆記之安裝和簡單查詢實(shí)例
- Python ORM框架SQLAlchemy學(xué)習(xí)筆記之關(guān)系映射實(shí)例
- Python ORM框架SQLAlchemy學(xué)習(xí)筆記之映射類使用實(shí)例和Session會(huì)話介紹
- 研究Python的ORM框架中的SQLAlchemy庫的映射關(guān)系
- Python的Flask框架中SQLAlchemy使用時(shí)的亂碼問題解決
- 教大家使用Python SqlAlchemy
- 在Python的Flask框架下使用sqlalchemy庫的簡單教程
- Python程序中使用SQLAlchemy時(shí)出現(xiàn)亂碼的解決方案
- Python的ORM框架中SQLAlchemy庫的查詢操作的教程
- Python的SQLAlchemy框架使用入門
- Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程
相關(guān)文章
如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。這篇文章主要介紹了如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤,需要的朋友可以參考下2019-12-12使用python進(jìn)行圖片的文字識(shí)別詳細(xì)代碼
Tesseract OCR是一款由Google團(tuán)隊(duì)開發(fā)的開源OCR引擎,用于將圖片、PDF 等格式中的文本轉(zhuǎn)換為可編輯的文本格式,本文主要介紹了Python進(jìn)行圖片的文字識(shí)別功能OCR的相關(guān)知識(shí),需要的朋友可以參考下2023-05-05Python進(jìn)階多線程爬取網(wǎng)頁項(xiàng)目實(shí)戰(zhàn)
這篇文章主要為大家介紹了Python進(jìn)階,Python多線程爬取網(wǎng)頁項(xiàng)目實(shí)戰(zhàn)的示例呈現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Python 跨文件夾導(dǎo)入自定義包的實(shí)現(xiàn)
有時(shí)我們自己編寫一些模塊時(shí),跨文件夾調(diào)用會(huì)出現(xiàn)ModuleNotFoundError: No module named 'XXX',本文就來介紹一下解決方法,感興趣的可以了解一下2023-11-11pycharm 創(chuàng)建py文件總是為txt格式的問題及解決
這篇文章主要介紹了pycharm 創(chuàng)建py文件總是為txt格式的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Pycharm內(nèi)置終端及遠(yuǎn)程SSH工具的使用教程圖文詳解
這篇文章主要介紹了Pycharm內(nèi)置終端及遠(yuǎn)程SSH工具的使用教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03