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)系來說總是雙向的。