Sqlalchemy中的一些小知識

2021-07-24 01:11:45 字數 1895 閱讀 8159

db.session.query(vehicle).filter(cast(vehicle.id, db.integer)==0)
def

to_json

(model):

""" returns a json representation of an sqlalchemy-backed object. """

json = {}

# json['fields'] = {}# json['pk'] = getattr(model, 'id')

# json['fields'][col.name] = getattr(model, col.name)

json[col.name] = getattr(model, col.name)

# return dumps([json])

return json

defto_json_list

(model_list):

json_list =

for model in model_list:

return json_list

defmessage

(record):

if record:

return to_json(record), 200

return , 400

defget

(self, id):

record = usr.query.filter_by(id=id).first()

return to_json_list(record.phone.first().phone)

[**]

sqlalchemy在使用過程中也會有需要同時訪問多個資料的情況,預設我們只繫結了乙個資料庫,當需要繫結多個資料庫的時候,需要增加以下配置

sqlalchemy_binds =
在編寫model的時候也需要進行指定繫結的sqlalchemy物件,但是需要是訪問預設的table就不需要指定

class

table_obj

(db.model):

__bind_key__ = 'db_obj'

__tablename__ = 'table_name'

在多對多,或者一對多的場景中,可以減少定義一張關聯關係表和自己寫sql做關聯,可以直接用sqlalchemy的關聯物件做定義

sqlrelate = db.table('table_name_1',

db.column('table_name_1_id', db.integer,db.foreignkey('table_name_1.id') ),

db.column('table_name_2_id', db.string(100),db.foreignkey('table_name_2.id')))

class

table_name_1

(db.model):

__tablename__ = 'table_name_1'

id = db.column(db.integer, primary_key=true)

rels = db.relationship('table_name_2', secondary=sqlrelate, backref=db.backref('table_name_1_relate_talbe_name_2'))

class

table_name_2

(db.model):

__tablename__ = 'table_name_2'

id = db.column(db.integer, primary_key=true)

Java中的一些小細節

一 continue break label 先看 和執行結果 1 一層迴圈體 a.continue label public static void main string args system.out.println s 執行結果 b.break label public static voi...

MFC中的一些小知識

1.如果要在某個目標影象控制項中畫圖,需要以下 crect rawrect 4 定義乙個矩形陣列,因為這裡要在四個影象控制項中畫圖 畫原始影象 cwnd pwnd pwnd getdlgitem idc pic1 pwnd getclientrect rawrect 0 把第乙個影象控制項 idc ...

C 中的一些小知識

1.形參中加上 表示引用,引用做形參時,該形參為輸出引數,即執行該函式後,該形參會發生改變,並且會把值帶到呼叫的地方,如下 void usonicsensor getdata float data 其中,dist 是usonicsensor 類的成員變數,執行該函式後,data就得到了dist的值 ...