演示文稿主題怎么設(shè)置啊(怎么將演示文稿主題設(shè)置)
817
2022-05-30
Pony is an advanced object-relational mapper
文檔:
PyPI: https://pypi.org/project/pony/
Github: https://github.com/ponyorm/pony
doc: https://docs.ponyorm.org/
安裝
pip install pony
1
代碼實(shí)例
# -*- coding: utf-8 -*- from pony.orm import Database, db_session, Required, Set, select, set_sql_debug # 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象 db = Database() # 建立數(shù)據(jù)庫(kù)連接 db.bind(provider='sqlite', filename=':memory:') # 開(kāi)啟debug,打印sql set_sql_debug(True) # 建立實(shí)體類 class Person(db.Entity): name = Required(str) age = Required(int) cars = Set('Car') class Car(db.Entity): make = Required(str) model = Required(str) owner = Required(Person) # 建表 db.generate_mapping(create_tables=True) """ CREATE TABLE "Person" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT, "name" TEXT NOT NULL, "age" INTEGER NOT NULL ) CREATE TABLE "Car" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT, "make" TEXT NOT NULL, "model" TEXT NOT NULL, "owner" INTEGER NOT NULL REFERENCES "Person" ("id") ON DELETE CASCADE ) SELECT "Car"."id", "Car"."make", "Car"."model", "Car"."owner" FROM "Car" "Car" WHERE 0 = 1 SELECT "Person"."id", "Person"."name", "Person"."age" FROM "Person" "Person" WHERE 0 = 1 """ # 插入數(shù)據(jù) with db_session: p1 = Person(name='John', age=20) p2 = Person(name='Mary', age=22) p3 = Person(name='Bob', age=30) c1 = Car(make='Toyota', model='Prius', owner=p2) c2 = Car(make='Ford', model='Explorer', owner=p3) """ INSERT INTO "Person" ("name", "age") VALUES (?, ?) ['John', 20] INSERT INTO "Person" ("name", "age") VALUES (?, ?) ['Mary', 22] INSERT INTO "Person" ("name", "age") VALUES (?, ?) ['Bob', 30] INSERT INTO "Car" ("make", "model", "owner") VALUES (?, ?, ?) ['Toyota', 'Prius', 2] INSERT INTO "Car" ("make", "model", "owner") VALUES (?, ?, ?) ['Ford', 'Explorer', 3] """ # 更新數(shù)據(jù) with db_session: p = Person.get(id=2) # 使用get來(lái)獲取一條數(shù)據(jù),如果沒(méi)有查到會(huì)返回None p.name = "new name" """ SELECT "id", "name", "age" FROM "Person" WHERE "id" = ? [2] UPDATE "Person" SET "name" = ? WHERE "id" = ? ['new name', 2] """ # 查詢數(shù)據(jù) with db_session: for person in select(p for p in Person if p.age > 20)[:]: print(person.name, person.age, person.cars) """ SELECT "p"."id", "p"."name", "p"."age" FROM "Person" "p" WHERE "p"."age" > 20 SELECT "id", "make", "model", "owner" FROM "Car" WHERE "owner" = ? [2] SELECT "id", "make", "model", "owner" FROM "Car" WHERE "owner" = ? [3] """
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
參考
只有 Python 魔法少女才知道的 PonyORM
拋棄丑陋,擁抱優(yōu)雅–Pythonic的Pony ORM
Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。