Kapitel 8. Die Sitzung und Ausnahmen verstehen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Im vorherigen Kapitel haben wir viel mit der Session gearbeitet und alles vermieden, was zu einer Ausnahme führen könnte. In diesem Kapitel werden wir etwas mehr darüber erfahren, wie unsere Objekte und die SQLAlchemy-Sitzung zusammenspielen. Zum Abschluss dieses Kapitels führen wir absichtlich einige Aktionen falsch aus, damit wir sehen, welche Arten von Ausnahmen auftreten und wie wir darauf reagieren sollten. Beginnen wir damit, mehr über die Session zu erfahren. Zunächst richten wir eine In-Memory-SQLite-Datenbank mit den Tabellen aus Kapitel 6 ein:
from
sqlalchemy
import
create_engine
from
sqlalchemy.orm
import
sessionmaker
engine
=
create_engine
(
'sqlite:///:memory:'
)
Session
=
sessionmaker
(
bind
=
engine
)
session
=
Session
()
from
datetime
import
datetime
from
sqlalchemy
import
(
Table
,
Column
,
Integer
,
Numeric
,
String
,
DateTime
,
ForeignKey
,
Boolean
)
from
sqlalchemy.ext.declarative
import
declarative_base
from
sqlalchemy.orm
import
relationship
,
backref
Base
=
declarative_base
()
class
Cookie
(
Base
):
__tablename__
=
'cookies'
cookie_id
=
Column
(
Integer
,
primary_key
=
True
)
cookie_name
=
Column
(
String
(
50
),
index
=
True
)
cookie_recipe_url
=
Column
(
String
(
255
))
cookie_sku
=
Column
(
String
(
55
))
quantity
=
Column
(
Integer
())
unit_cost
=
Column
(
Numeric
(
12
,
2
))
def
__init__
(
self
,
name
,
recipe_url
=
None
,
sku
=
None
Get Essential SQLAlchemy, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.