|
18 | 18 | }, |
19 | 19 | { |
20 | 20 | "cell_type": "code", |
21 | | - "execution_count": null, |
| 21 | + "execution_count": 1, |
22 | 22 | "metadata": {}, |
23 | 23 | "outputs": [], |
24 | 24 | "source": [ |
|
36 | 36 | }, |
37 | 37 | { |
38 | 38 | "cell_type": "code", |
39 | | - "execution_count": null, |
| 39 | + "execution_count": 2, |
40 | 40 | "metadata": {}, |
41 | 41 | "outputs": [], |
42 | 42 | "source": [ |
|
72 | 72 | }, |
73 | 73 | { |
74 | 74 | "cell_type": "code", |
75 | | - "execution_count": null, |
| 75 | + "execution_count": 3, |
76 | 76 | "metadata": {}, |
77 | 77 | "outputs": [], |
78 | 78 | "source": [ |
|
88 | 88 | }, |
89 | 89 | { |
90 | 90 | "cell_type": "code", |
91 | | - "execution_count": null, |
| 91 | + "execution_count": 4, |
92 | 92 | "metadata": {}, |
93 | 93 | "outputs": [], |
94 | 94 | "source": [ |
|
104 | 104 | }, |
105 | 105 | { |
106 | 106 | "cell_type": "code", |
107 | | - "execution_count": null, |
| 107 | + "execution_count": 5, |
108 | 108 | "metadata": {}, |
109 | | - "outputs": [], |
| 109 | + "outputs": [ |
| 110 | + { |
| 111 | + "name": "stdout", |
| 112 | + "output_type": "stream", |
| 113 | + "text": [ |
| 114 | + "2025-06-05 10:24:27,533 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 115 | + "2025-06-05 10:24:27,534 INFO sqlalchemy.engine.Engine PRAGMA main.table_info(\"kraj\")\n", |
| 116 | + "2025-06-05 10:24:27,535 INFO sqlalchemy.engine.Engine [raw sql] ()\n", |
| 117 | + "2025-06-05 10:24:27,536 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info(\"kraj\")\n", |
| 118 | + "2025-06-05 10:24:27,537 INFO sqlalchemy.engine.Engine [raw sql] ()\n", |
| 119 | + "2025-06-05 10:24:27,537 INFO sqlalchemy.engine.Engine PRAGMA main.table_info(\"oseba\")\n", |
| 120 | + "2025-06-05 10:24:27,538 INFO sqlalchemy.engine.Engine [raw sql] ()\n", |
| 121 | + "2025-06-05 10:24:27,538 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info(\"oseba\")\n", |
| 122 | + "2025-06-05 10:24:27,539 INFO sqlalchemy.engine.Engine [raw sql] ()\n", |
| 123 | + "2025-06-05 10:24:27,540 INFO sqlalchemy.engine.Engine \n", |
| 124 | + "CREATE TABLE kraj (\n", |
| 125 | + "\tposta INTEGER NOT NULL, \n", |
| 126 | + "\tkraj VARCHAR(250), \n", |
| 127 | + "\tPRIMARY KEY (posta)\n", |
| 128 | + ")\n", |
| 129 | + "\n", |
| 130 | + "\n", |
| 131 | + "2025-06-05 10:24:27,540 INFO sqlalchemy.engine.Engine [no key 0.00036s] ()\n", |
| 132 | + "2025-06-05 10:24:27,553 INFO sqlalchemy.engine.Engine \n", |
| 133 | + "CREATE TABLE oseba (\n", |
| 134 | + "\tid INTEGER NOT NULL, \n", |
| 135 | + "\time VARCHAR(250) NOT NULL, \n", |
| 136 | + "\tkraj_id INTEGER, \n", |
| 137 | + "\tPRIMARY KEY (id), \n", |
| 138 | + "\tFOREIGN KEY(kraj_id) REFERENCES kraj (posta)\n", |
| 139 | + ")\n", |
| 140 | + "\n", |
| 141 | + "\n", |
| 142 | + "2025-06-05 10:24:27,554 INFO sqlalchemy.engine.Engine [no key 0.00053s] ()\n", |
| 143 | + "2025-06-05 10:24:27,561 INFO sqlalchemy.engine.Engine COMMIT\n" |
| 144 | + ] |
| 145 | + } |
| 146 | + ], |
110 | 147 | "source": [ |
111 | 148 | "Base.metadata.create_all(engine)" |
112 | 149 | ] |
|
120 | 157 | }, |
121 | 158 | { |
122 | 159 | "cell_type": "code", |
123 | | - "execution_count": null, |
| 160 | + "execution_count": 6, |
124 | 161 | "metadata": {}, |
125 | 162 | "outputs": [], |
126 | 163 | "source": [ |
|
137 | 174 | }, |
138 | 175 | { |
139 | 176 | "cell_type": "code", |
140 | | - "execution_count": null, |
| 177 | + "execution_count": 7, |
141 | 178 | "metadata": {}, |
142 | 179 | "outputs": [], |
143 | 180 | "source": [ |
|
154 | 191 | }, |
155 | 192 | { |
156 | 193 | "cell_type": "code", |
157 | | - "execution_count": null, |
| 194 | + "execution_count": 8, |
158 | 195 | "metadata": {}, |
159 | | - "outputs": [], |
| 196 | + "outputs": [ |
| 197 | + { |
| 198 | + "name": "stdout", |
| 199 | + "output_type": "stream", |
| 200 | + "text": [ |
| 201 | + "2025-06-05 10:26:17,095 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 202 | + "2025-06-05 10:26:17,096 INFO sqlalchemy.engine.Engine INSERT INTO kraj (posta, kraj) VALUES (?, ?)\n", |
| 203 | + "2025-06-05 10:26:17,097 INFO sqlalchemy.engine.Engine [generated in 0.00077s] (1000, 'Ljubljana')\n", |
| 204 | + "2025-06-05 10:26:17,098 INFO sqlalchemy.engine.Engine COMMIT\n" |
| 205 | + ] |
| 206 | + } |
| 207 | + ], |
160 | 208 | "source": [ |
161 | 209 | "session.commit()" |
162 | 210 | ] |
|
170 | 218 | }, |
171 | 219 | { |
172 | 220 | "cell_type": "code", |
173 | | - "execution_count": null, |
| 221 | + "execution_count": 9, |
174 | 222 | "metadata": {}, |
175 | | - "outputs": [], |
| 223 | + "outputs": [ |
| 224 | + { |
| 225 | + "name": "stdout", |
| 226 | + "output_type": "stream", |
| 227 | + "text": [ |
| 228 | + "2025-06-05 10:27:44,851 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 229 | + "2025-06-05 10:27:44,854 INFO sqlalchemy.engine.Engine SELECT kraj.posta AS kraj_posta, kraj.kraj AS kraj_kraj \n", |
| 230 | + "FROM kraj \n", |
| 231 | + "WHERE kraj.posta = ?\n", |
| 232 | + "2025-06-05 10:27:44,855 INFO sqlalchemy.engine.Engine [generated in 0.00063s] (1000,)\n", |
| 233 | + "2025-06-05 10:27:44,857 INFO sqlalchemy.engine.Engine INSERT INTO oseba (ime, kraj_id) VALUES (?, ?)\n", |
| 234 | + "2025-06-05 10:27:44,857 INFO sqlalchemy.engine.Engine [generated in 0.00047s] ('Janez', 1000)\n", |
| 235 | + "2025-06-05 10:27:44,858 INFO sqlalchemy.engine.Engine COMMIT\n" |
| 236 | + ] |
| 237 | + } |
| 238 | + ], |
176 | 239 | "source": [ |
177 | 240 | "nova_oseba = Oseba(ime='Janez', kraj=nov_kraj)\n", |
178 | 241 | "session.add(nova_oseba)\n", |
|
188 | 251 | }, |
189 | 252 | { |
190 | 253 | "cell_type": "code", |
191 | | - "execution_count": null, |
| 254 | + "execution_count": 10, |
192 | 255 | "metadata": {}, |
193 | | - "outputs": [], |
| 256 | + "outputs": [ |
| 257 | + { |
| 258 | + "name": "stdout", |
| 259 | + "output_type": "stream", |
| 260 | + "text": [ |
| 261 | + "2025-06-05 10:29:22,518 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 262 | + "2025-06-05 10:29:22,520 INFO sqlalchemy.engine.Engine SELECT oseba.id AS oseba_id, oseba.ime AS oseba_ime, oseba.kraj_id AS oseba_kraj_id \n", |
| 263 | + "FROM oseba\n", |
| 264 | + "2025-06-05 10:29:22,521 INFO sqlalchemy.engine.Engine [generated in 0.00096s] ()\n" |
| 265 | + ] |
| 266 | + }, |
| 267 | + { |
| 268 | + "data": { |
| 269 | + "text/plain": [ |
| 270 | + "[<__main__.Oseba at 0x78c870397980>]" |
| 271 | + ] |
| 272 | + }, |
| 273 | + "execution_count": 10, |
| 274 | + "metadata": {}, |
| 275 | + "output_type": "execute_result" |
| 276 | + } |
| 277 | + ], |
194 | 278 | "source": [ |
195 | 279 | "session.query(Oseba).all()" |
196 | 280 | ] |
|
204 | 288 | }, |
205 | 289 | { |
206 | 290 | "cell_type": "code", |
207 | | - "execution_count": null, |
| 291 | + "execution_count": 11, |
208 | 292 | "metadata": {}, |
209 | | - "outputs": [], |
| 293 | + "outputs": [ |
| 294 | + { |
| 295 | + "name": "stdout", |
| 296 | + "output_type": "stream", |
| 297 | + "text": [ |
| 298 | + "2025-06-05 10:29:41,154 INFO sqlalchemy.engine.Engine SELECT kraj.posta AS kraj_posta, kraj.kraj AS kraj_kraj \n", |
| 299 | + "FROM kraj\n", |
| 300 | + " LIMIT ? OFFSET ?\n", |
| 301 | + "2025-06-05 10:29:41,155 INFO sqlalchemy.engine.Engine [generated in 0.00130s] (1, 0)\n", |
| 302 | + "<__main__.Kraj object at 0x78c872aa1100>\n", |
| 303 | + "KRAJ: Ljubljana\n" |
| 304 | + ] |
| 305 | + } |
| 306 | + ], |
210 | 307 | "source": [ |
211 | 308 | "kraj1 = session.query(Kraj).first()\n", |
212 | 309 | "print(kraj1)\n", |
|
222 | 319 | }, |
223 | 320 | { |
224 | 321 | "cell_type": "code", |
225 | | - "execution_count": null, |
| 322 | + "execution_count": 12, |
226 | 323 | "metadata": {}, |
227 | | - "outputs": [], |
| 324 | + "outputs": [ |
| 325 | + { |
| 326 | + "name": "stdout", |
| 327 | + "output_type": "stream", |
| 328 | + "text": [ |
| 329 | + "2025-06-05 10:30:53,518 INFO sqlalchemy.engine.Engine SELECT oseba.id AS oseba_id, oseba.ime AS oseba_ime, oseba.kraj_id AS oseba_kraj_id \n", |
| 330 | + "FROM oseba \n", |
| 331 | + "WHERE ? = oseba.kraj_id\n", |
| 332 | + "2025-06-05 10:30:53,519 INFO sqlalchemy.engine.Engine [generated in 0.00107s] (1000,)\n" |
| 333 | + ] |
| 334 | + }, |
| 335 | + { |
| 336 | + "data": { |
| 337 | + "text/plain": [ |
| 338 | + "[<__main__.Oseba at 0x78c870397980>]" |
| 339 | + ] |
| 340 | + }, |
| 341 | + "execution_count": 12, |
| 342 | + "metadata": {}, |
| 343 | + "output_type": "execute_result" |
| 344 | + } |
| 345 | + ], |
228 | 346 | "source": [ |
229 | 347 | "session.query(Oseba).filter(Oseba.kraj == kraj1).all()" |
230 | 348 | ] |
|
238 | 356 | }, |
239 | 357 | { |
240 | 358 | "cell_type": "code", |
241 | | - "execution_count": null, |
| 359 | + "execution_count": 13, |
242 | 360 | "metadata": {}, |
243 | | - "outputs": [], |
| 361 | + "outputs": [ |
| 362 | + { |
| 363 | + "name": "stdout", |
| 364 | + "output_type": "stream", |
| 365 | + "text": [ |
| 366 | + "2025-06-05 10:31:23,067 INFO sqlalchemy.engine.Engine SELECT oseba.id AS oseba_id, oseba.ime AS oseba_ime, oseba.kraj_id AS oseba_kraj_id \n", |
| 367 | + "FROM oseba \n", |
| 368 | + "WHERE ? = oseba.kraj_id\n", |
| 369 | + "2025-06-05 10:31:23,068 INFO sqlalchemy.engine.Engine [cached since 29.55s ago] (1000,)\n", |
| 370 | + "<__main__.Oseba object at 0x78c870397980>\n", |
| 371 | + "IME: Janez\n", |
| 372 | + "KRAJ: <__main__.Kraj object at 0x78c872aa1100>\n" |
| 373 | + ] |
| 374 | + } |
| 375 | + ], |
244 | 376 | "source": [ |
245 | 377 | "oseba1 = session.query(Oseba).filter(Oseba.kraj == kraj1).one()\n", |
246 | 378 | "print(oseba1)\n", |
|
251 | 383 | ], |
252 | 384 | "metadata": { |
253 | 385 | "kernelspec": { |
254 | | - "display_name": "Python 3", |
| 386 | + "display_name": "Python 3 (ipykernel)", |
255 | 387 | "language": "python", |
256 | 388 | "name": "python3" |
257 | 389 | }, |
|
0 commit comments