python小型、小型、小型、微型对象关系映射(orm)
perseus-microrm-librar的Python项目详细描述
英仙座
majorm perseus microrm python库是一个小型、小型、微型、微型对象关系映射(orm)。
microrm并不是一个对象-关系映射,因为它将pyth对象映射到关系数据库管理系统(rdbms),而是从某种意义上说,它将在rdbms上执行的sql查询的结果映射到pyth on对象。
安装
要安装Perseus MicrORM Python Library,只需输入以下命令行:
pip install perseus-microrm-library
用法
importuuidfrommajormode.perseus.utilsimportcastfrommajormode.perseus.utils.rdbmsimportRdbmsConnectionRDBMS_CONNECTION_PROPERTIES={None:{'rdbms_hostname':'localhost','rdbms_port':5432,'rdbms_database_name':'foo','rdbms_account_username':'dbo','rdbms_account_password':''}}PLACE_IDS=[uuid.UUID('54879ffc-a1ec-11e8-85bd-0008a20c190f'),uuid.UUID('9025d1c8-a1ec-11e8-9e29-0007cb040bcc')]withRdbmsConnection.acquire_connection(RDBMS_CONNECTION_PROPERTIES,auto_commit=False,connection=None)asconnection:cursor=connection.execute(""" SELECT place_id, ST_X(location) AS longitude, ST_Y(location) AS latitude, ST_Z(location) AS altitude, accuracy, creation_time FROM place WHERE place_id IN %[place_ids]s """,{'place_ids':PLACE_IDS})rows=cursor.fetch_all()places=[row.get_object({'place_id':cast.string_to_uuid,'creation_time':cast.string_to_timestamp})forrowincursor.fetch_all()]forplaceinplaces:print(place.place_id,place.longitude,place.latitude)