sqlatable

sqlatable? ?數(shù)據(jù)表 對(duì)象

slc? slice? 表中的一行。

form_data=request.args? ?url? 參數(shù)

datasource? ?數(shù)據(jù)表 對(duì)象?

form_data.get("orderby")? ?獲取 orderby? 值

relationship? 數(shù)據(jù)庫關(guān)系

query_obj? ?查詢 參數(shù) 字典

row.index? 橫坐標(biāo)

get_data 組裝數(shù)據(jù)

groupby? 對(duì)列進(jìn)行分組 運(yùn)算。

ORDER BY 語句用于根據(jù)指定的列對(duì)結(jié)果集進(jìn)行排序。

ORDER BY 語句默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。

如果您希望按照降序?qū)τ涗涍M(jìn)行排序,可以使用 DESC 關(guān)鍵字。

=========================

classAddress(Base):...? ??

?__tablename__='addresses'

...id=Column(Integer,primary_key=True)

...email_address=Column(String,nullable=False)

...user_id=Column(Integer,ForeignKey('users.id'))

......user=relationship("User",backref=backref('addresses',order_by=id))

......def__init__(self,email_address):

...self.email_address=email_address

......def__repr__(self):

...return"〈Address('%s')〉"%self.email_address

讓我們注意一下新出現(xiàn)的東東,首先就是user_id的ForeignKey結(jié)構(gòu),學(xué)過數(shù)據(jù)庫的同學(xué)都知道ForeignKey意味著外鍵,這是關(guān)系型數(shù)據(jù)庫的核心理論之一,即該列user_id與其外鍵引用的列users.id存在引用約束(constrained)關(guān)系,在數(shù)據(jù)庫層面上來講,就是表users的user_id列被表users的id列約束,值得注意的是,外鍵關(guān)聯(lián)的必定是另外一張表的主鍵。

其次新出現(xiàn)的就是relationship()函數(shù),這個(gè)將會(huì)告知ORM通過Address.userAddress類自身必須鏈接到User類。relationship()使用兩個(gè)表的外鍵約束來判定這種鏈接的性質(zhì),比如說判定Address.user將會(huì)是多對(duì)一(many-to-one)關(guān)系。

另外在relationship()內(nèi)還有另外一個(gè)函數(shù)稱為backref(),它將提供一種用于反向查詢的細(xì)節(jié),比如說在對(duì)象User上的Address對(duì)象集是通過User.addresses屬性引用,那么多對(duì)一的關(guān)系(many-to-one)反向總會(huì)是一對(duì)多關(guān)系(one-to-many)。還有對(duì)于Address.user和User.addresses的關(guān)系來說總是雙向的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載,覺得這篇寫 SQLAlchemy Core,寫得非常不錯(cuò)。不過后續(xù)他沒寫SQLAlchemy ORM... ...
    非夢(mèng)nj閱讀 5,605評(píng)論 1 14
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,435評(píng)論 22 257
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139
  • 我們幾乎每天出門都要涂口紅,其實(shí)呢,涂口紅也是有技巧的呢!因?yàn)槊總€(gè)人的唇形都不同,對(duì)唇形的追求和審美也不同,自然而...
    林楓楓閱讀 690評(píng)論 0 1
  • 人生有很多次第一次,第一次學(xué)會(huì)吃飯,走路,說話,包括愛一個(gè)人。我的第一次有很多,但這次的寫作,是我第一次通...
    蟹蟹赧赧閱讀 299評(píng)論 0 0

友情鏈接更多精彩內(nèi)容