🎨 Update inline source examples, hide #
in annotations (from MkDocs Material) (#677)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
6457775a0f
commit
9632980664
@ -21,56 +21,56 @@ def create_db_and_tables():
|
|||||||
|
|
||||||
|
|
||||||
def create_heroes():
|
def create_heroes():
|
||||||
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (1)
|
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (1)!
|
||||||
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador") # (2)
|
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador") # (2)!
|
||||||
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48) # (3)
|
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48) # (3)!
|
||||||
|
|
||||||
print("Before interacting with the database") # (4)
|
print("Before interacting with the database") # (4)!
|
||||||
print("Hero 1:", hero_1) # (5)
|
print("Hero 1:", hero_1) # (5)!
|
||||||
print("Hero 2:", hero_2) # (6)
|
print("Hero 2:", hero_2) # (6)!
|
||||||
print("Hero 3:", hero_3) # (7)
|
print("Hero 3:", hero_3) # (7)!
|
||||||
|
|
||||||
with Session(engine) as session: # (8)
|
with Session(engine) as session: # (8)!
|
||||||
session.add(hero_1) # (9)
|
session.add(hero_1) # (9)!
|
||||||
session.add(hero_2) # (10)
|
session.add(hero_2) # (10)!
|
||||||
session.add(hero_3) # (11)
|
session.add(hero_3) # (11)!
|
||||||
|
|
||||||
print("After adding to the session") # (12)
|
print("After adding to the session") # (12)!
|
||||||
print("Hero 1:", hero_1) # (13)
|
print("Hero 1:", hero_1) # (13)!
|
||||||
print("Hero 2:", hero_2) # (14)
|
print("Hero 2:", hero_2) # (14)!
|
||||||
print("Hero 3:", hero_3) # (15)
|
print("Hero 3:", hero_3) # (15)!
|
||||||
|
|
||||||
session.commit() # (16)
|
session.commit() # (16)!
|
||||||
|
|
||||||
print("After committing the session") # (17)
|
print("After committing the session") # (17)!
|
||||||
print("Hero 1:", hero_1) # (18)
|
print("Hero 1:", hero_1) # (18)!
|
||||||
print("Hero 2:", hero_2) # (19)
|
print("Hero 2:", hero_2) # (19)!
|
||||||
print("Hero 3:", hero_3) # (20)
|
print("Hero 3:", hero_3) # (20)!
|
||||||
|
|
||||||
print("After committing the session, show IDs") # (21)
|
print("After committing the session, show IDs") # (21)!
|
||||||
print("Hero 1 ID:", hero_1.id) # (22)
|
print("Hero 1 ID:", hero_1.id) # (22)!
|
||||||
print("Hero 2 ID:", hero_2.id) # (23)
|
print("Hero 2 ID:", hero_2.id) # (23)!
|
||||||
print("Hero 3 ID:", hero_3.id) # (24)
|
print("Hero 3 ID:", hero_3.id) # (24)!
|
||||||
|
|
||||||
print("After committing the session, show names") # (25)
|
print("After committing the session, show names") # (25)!
|
||||||
print("Hero 1 name:", hero_1.name) # (26)
|
print("Hero 1 name:", hero_1.name) # (26)!
|
||||||
print("Hero 2 name:", hero_2.name) # (27)
|
print("Hero 2 name:", hero_2.name) # (27)!
|
||||||
print("Hero 3 name:", hero_3.name) # (28)
|
print("Hero 3 name:", hero_3.name) # (28)!
|
||||||
|
|
||||||
session.refresh(hero_1) # (29)
|
session.refresh(hero_1) # (29)!
|
||||||
session.refresh(hero_2) # (30)
|
session.refresh(hero_2) # (30)!
|
||||||
session.refresh(hero_3) # (31)
|
session.refresh(hero_3) # (31)!
|
||||||
|
|
||||||
print("After refreshing the heroes") # (32)
|
print("After refreshing the heroes") # (32)!
|
||||||
print("Hero 1:", hero_1) # (33)
|
print("Hero 1:", hero_1) # (33)!
|
||||||
print("Hero 2:", hero_2) # (34)
|
print("Hero 2:", hero_2) # (34)!
|
||||||
print("Hero 3:", hero_3) # (35)
|
print("Hero 3:", hero_3) # (35)!
|
||||||
# (36)
|
# (36)!
|
||||||
|
|
||||||
print("After the session closes") # (37)
|
print("After the session closes") # (37)!
|
||||||
print("Hero 1:", hero_1) # (38)
|
print("Hero 1:", hero_1) # (38)!
|
||||||
print("Hero 2:", hero_2) # (39)
|
print("Hero 2:", hero_2) # (39)!
|
||||||
print("Hero 3:", hero_3) # (40)
|
print("Hero 3:", hero_3) # (40)!
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
from typing import Optional # (1)
|
from typing import Optional # (1)!
|
||||||
|
|
||||||
from sqlmodel import Field, SQLModel, create_engine # (2)
|
from sqlmodel import Field, SQLModel, create_engine # (2)!
|
||||||
|
|
||||||
|
|
||||||
class Hero(SQLModel, table=True): # (3)
|
class Hero(SQLModel, table=True): # (3)!
|
||||||
id: Optional[int] = Field(default=None, primary_key=True) # (4)
|
id: Optional[int] = Field(default=None, primary_key=True) # (4)!
|
||||||
name: str # (5)
|
name: str # (5)!
|
||||||
secret_name: str # (6)
|
secret_name: str # (6)!
|
||||||
age: Optional[int] = None # (7)
|
age: Optional[int] = None # (7)!
|
||||||
|
|
||||||
|
|
||||||
sqlite_file_name = "database.db" # (8)
|
sqlite_file_name = "database.db" # (8)!
|
||||||
sqlite_url = f"sqlite:///{sqlite_file_name}" # (9)
|
sqlite_url = f"sqlite:///{sqlite_file_name}" # (9)!
|
||||||
|
|
||||||
engine = create_engine(sqlite_url, echo=True) # (10)
|
engine = create_engine(sqlite_url, echo=True) # (10)!
|
||||||
|
|
||||||
|
|
||||||
def create_db_and_tables(): # (11)
|
def create_db_and_tables(): # (11)!
|
||||||
SQLModel.metadata.create_all(engine) # (12)
|
SQLModel.metadata.create_all(engine) # (12)!
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__": # (13)
|
if __name__ == "__main__": # (13)!
|
||||||
create_db_and_tables() # (14)
|
create_db_and_tables() # (14)!
|
||||||
|
@ -71,23 +71,23 @@ def update_heroes():
|
|||||||
|
|
||||||
def delete_heroes():
|
def delete_heroes():
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
statement = select(Hero).where(Hero.name == "Spider-Youngster") # (1)
|
statement = select(Hero).where(Hero.name == "Spider-Youngster") # (1)!
|
||||||
results = session.exec(statement) # (2)
|
results = session.exec(statement) # (2)!
|
||||||
hero = results.one() # (3)
|
hero = results.one() # (3)!
|
||||||
print("Hero: ", hero) # (4)
|
print("Hero: ", hero) # (4)!
|
||||||
|
|
||||||
session.delete(hero) # (5)
|
session.delete(hero) # (5)!
|
||||||
session.commit() # (6)
|
session.commit() # (6)!
|
||||||
|
|
||||||
print("Deleted hero:", hero) # (7)
|
print("Deleted hero:", hero) # (7)!
|
||||||
|
|
||||||
statement = select(Hero).where(Hero.name == "Spider-Youngster") # (8)
|
statement = select(Hero).where(Hero.name == "Spider-Youngster") # (8)!
|
||||||
results = session.exec(statement) # (9)
|
results = session.exec(statement) # (9)!
|
||||||
hero = results.first() # (10)
|
hero = results.first() # (10)!
|
||||||
|
|
||||||
if hero is None: # (11)
|
if hero is None: # (11)!
|
||||||
print("There's no hero named Spider-Youngster") # (12)
|
print("There's no hero named Spider-Youngster") # (12)!
|
||||||
# (13)
|
# (13)!
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
from sqlmodel import Session, SQLModel, create_engine
|
from sqlmodel import Session, SQLModel, create_engine
|
||||||
|
|
||||||
from .main import app, get_session # (1)
|
from .main import app, get_session # (1)!
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero():
|
def test_create_hero():
|
||||||
@ -17,16 +17,16 @@ def test_create_hero():
|
|||||||
|
|
||||||
app.dependency_overrides[get_session] = get_session_override
|
app.dependency_overrides[get_session] = get_session_override
|
||||||
|
|
||||||
client = TestClient(app) # (2)
|
client = TestClient(app) # (2)!
|
||||||
|
|
||||||
response = client.post( # (3)
|
response = client.post( # (3)!
|
||||||
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
||||||
)
|
)
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
data = response.json() # (4)
|
data = response.json() # (4)!
|
||||||
|
|
||||||
assert response.status_code == 200 # (5)
|
assert response.status_code == 200 # (5)!
|
||||||
assert data["name"] == "Deadpond" # (6)
|
assert data["name"] == "Deadpond" # (6)!
|
||||||
assert data["secret_name"] == "Dive Wilson" # (7)
|
assert data["secret_name"] == "Dive Wilson" # (7)!
|
||||||
assert data["age"] is None # (8)
|
assert data["age"] is None # (8)!
|
||||||
assert data["id"] is not None # (9)
|
assert data["id"] is not None # (9)!
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
from sqlmodel import Session, SQLModel, create_engine
|
from sqlmodel import Session, SQLModel, create_engine
|
||||||
|
|
||||||
from .main import app, get_session # (1)
|
from .main import app, get_session # (1)!
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero():
|
def test_create_hero():
|
||||||
@ -12,17 +12,17 @@ def test_create_hero():
|
|||||||
|
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
|
|
||||||
def get_session_override(): # (2)
|
def get_session_override(): # (2)!
|
||||||
return session # (3)
|
return session # (3)!
|
||||||
|
|
||||||
app.dependency_overrides[get_session] = get_session_override # (4)
|
app.dependency_overrides[get_session] = get_session_override # (4)!
|
||||||
|
|
||||||
client = TestClient(app)
|
client = TestClient(app)
|
||||||
|
|
||||||
response = client.post(
|
response = client.post(
|
||||||
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
||||||
)
|
)
|
||||||
app.dependency_overrides.clear() # (5)
|
app.dependency_overrides.clear() # (5)!
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
from sqlmodel import Session, SQLModel, create_engine
|
from sqlmodel import Session, SQLModel, create_engine
|
||||||
|
|
||||||
from .main import app, get_session # (1)
|
from .main import app, get_session # (1)!
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero():
|
def test_create_hero():
|
||||||
engine = create_engine( # (2)
|
engine = create_engine( # (2)!
|
||||||
"sqlite:///testing.db", connect_args={"check_same_thread": False}
|
"sqlite:///testing.db", connect_args={"check_same_thread": False}
|
||||||
)
|
)
|
||||||
SQLModel.metadata.create_all(engine) # (3)
|
SQLModel.metadata.create_all(engine) # (3)!
|
||||||
|
|
||||||
with Session(engine) as session: # (4)
|
with Session(engine) as session: # (4)!
|
||||||
|
|
||||||
def get_session_override():
|
def get_session_override():
|
||||||
return session # (5)
|
return session # (5)!
|
||||||
|
|
||||||
app.dependency_overrides[get_session] = get_session_override # (4)
|
app.dependency_overrides[get_session] = get_session_override # (4)!
|
||||||
|
|
||||||
client = TestClient(app)
|
client = TestClient(app)
|
||||||
|
|
||||||
@ -30,4 +30,4 @@ def test_create_hero():
|
|||||||
assert data["secret_name"] == "Dive Wilson"
|
assert data["secret_name"] == "Dive Wilson"
|
||||||
assert data["age"] is None
|
assert data["age"] is None
|
||||||
assert data["id"] is not None
|
assert data["id"] is not None
|
||||||
# (6)
|
# (6)!
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
from sqlmodel import Session, SQLModel, create_engine
|
from sqlmodel import Session, SQLModel, create_engine
|
||||||
from sqlmodel.pool import StaticPool # (1)
|
from sqlmodel.pool import StaticPool # (1)!
|
||||||
|
|
||||||
from .main import app, get_session
|
from .main import app, get_session
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero():
|
def test_create_hero():
|
||||||
engine = create_engine(
|
engine = create_engine(
|
||||||
"sqlite://", # (2)
|
"sqlite://", # (2)!
|
||||||
connect_args={"check_same_thread": False},
|
connect_args={"check_same_thread": False},
|
||||||
poolclass=StaticPool, # (3)
|
poolclass=StaticPool, # (3)!
|
||||||
)
|
)
|
||||||
SQLModel.metadata.create_all(engine)
|
SQLModel.metadata.create_all(engine)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import pytest # (1)
|
import pytest # (1)!
|
||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
from sqlmodel import Session, SQLModel, create_engine
|
from sqlmodel import Session, SQLModel, create_engine
|
||||||
from sqlmodel.pool import StaticPool
|
from sqlmodel.pool import StaticPool
|
||||||
@ -6,19 +6,19 @@ from sqlmodel.pool import StaticPool
|
|||||||
from .main import app, get_session
|
from .main import app, get_session
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(name="session") # (2)
|
@pytest.fixture(name="session") # (2)!
|
||||||
def session_fixture(): # (3)
|
def session_fixture(): # (3)!
|
||||||
engine = create_engine(
|
engine = create_engine(
|
||||||
"sqlite://", connect_args={"check_same_thread": False}, poolclass=StaticPool
|
"sqlite://", connect_args={"check_same_thread": False}, poolclass=StaticPool
|
||||||
)
|
)
|
||||||
SQLModel.metadata.create_all(engine)
|
SQLModel.metadata.create_all(engine)
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
yield session # (4)
|
yield session # (4)!
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero(session: Session): # (5)
|
def test_create_hero(session: Session): # (5)!
|
||||||
def get_session_override():
|
def get_session_override():
|
||||||
return session # (6)
|
return session # (6)!
|
||||||
|
|
||||||
app.dependency_overrides[get_session] = get_session_override
|
app.dependency_overrides[get_session] = get_session_override
|
||||||
|
|
||||||
|
@ -16,19 +16,19 @@ def session_fixture():
|
|||||||
yield session
|
yield session
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(name="client") # (1)
|
@pytest.fixture(name="client") # (1)!
|
||||||
def client_fixture(session: Session): # (2)
|
def client_fixture(session: Session): # (2)!
|
||||||
def get_session_override(): # (3)
|
def get_session_override(): # (3)!
|
||||||
return session
|
return session
|
||||||
|
|
||||||
app.dependency_overrides[get_session] = get_session_override # (4)
|
app.dependency_overrides[get_session] = get_session_override # (4)!
|
||||||
|
|
||||||
client = TestClient(app) # (5)
|
client = TestClient(app) # (5)!
|
||||||
yield client # (6)
|
yield client # (6)!
|
||||||
app.dependency_overrides.clear() # (7)
|
app.dependency_overrides.clear() # (7)!
|
||||||
|
|
||||||
|
|
||||||
def test_create_hero(client: TestClient): # (8)
|
def test_create_hero(client: TestClient): # (8)!
|
||||||
response = client.post(
|
response = client.post(
|
||||||
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
"/heroes/", json={"name": "Deadpond", "secret_name": "Dive Wilson"}
|
||||||
)
|
)
|
||||||
|
@ -20,24 +20,24 @@ def create_db_and_tables():
|
|||||||
SQLModel.metadata.create_all(engine)
|
SQLModel.metadata.create_all(engine)
|
||||||
|
|
||||||
|
|
||||||
def create_heroes(): # (1)
|
def create_heroes(): # (1)!
|
||||||
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (2)
|
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (2)!
|
||||||
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
|
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
|
||||||
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
|
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
|
||||||
|
|
||||||
with Session(engine) as session: # (3)
|
with Session(engine) as session: # (3)!
|
||||||
session.add(hero_1) # (4)
|
session.add(hero_1) # (4)!
|
||||||
session.add(hero_2)
|
session.add(hero_2)
|
||||||
session.add(hero_3)
|
session.add(hero_3)
|
||||||
|
|
||||||
session.commit() # (5)
|
session.commit() # (5)!
|
||||||
# (6)
|
# (6)!
|
||||||
|
|
||||||
|
|
||||||
def main(): # (7)
|
def main(): # (7)!
|
||||||
create_db_and_tables() # (8)
|
create_db_and_tables() # (8)!
|
||||||
create_heroes() # (9)
|
create_heroes() # (9)!
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__": # (10)
|
if __name__ == "__main__": # (10)!
|
||||||
main() # (11)
|
main() # (11)!
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from sqlmodel import Field, Session, SQLModel, create_engine, select # (1)
|
from sqlmodel import Field, Session, SQLModel, create_engine, select # (1)!
|
||||||
|
|
||||||
|
|
||||||
class Hero(SQLModel, table=True): # (2)
|
class Hero(SQLModel, table=True): # (2)!
|
||||||
id: Optional[int] = Field(default=None, primary_key=True)
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
name: str
|
name: str
|
||||||
secret_name: str
|
secret_name: str
|
||||||
@ -13,19 +13,19 @@ class Hero(SQLModel, table=True): # (2)
|
|||||||
sqlite_file_name = "database.db"
|
sqlite_file_name = "database.db"
|
||||||
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
||||||
|
|
||||||
engine = create_engine(sqlite_url, echo=True) # (3)
|
engine = create_engine(sqlite_url, echo=True) # (3)!
|
||||||
|
|
||||||
|
|
||||||
def create_db_and_tables():
|
def create_db_and_tables():
|
||||||
SQLModel.metadata.create_all(engine) # (4)
|
SQLModel.metadata.create_all(engine) # (4)!
|
||||||
|
|
||||||
|
|
||||||
def create_heroes():
|
def create_heroes():
|
||||||
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (5)
|
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") # (5)!
|
||||||
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
|
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
|
||||||
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
|
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
|
||||||
|
|
||||||
with Session(engine) as session: # (6)
|
with Session(engine) as session: # (6)!
|
||||||
session.add(hero_1)
|
session.add(hero_1)
|
||||||
session.add(hero_2)
|
session.add(hero_2)
|
||||||
session.add(hero_3)
|
session.add(hero_3)
|
||||||
@ -34,18 +34,18 @@ def create_heroes():
|
|||||||
|
|
||||||
|
|
||||||
def select_heroes():
|
def select_heroes():
|
||||||
with Session(engine) as session: # (7)
|
with Session(engine) as session: # (7)!
|
||||||
statement = select(Hero) # (8)
|
statement = select(Hero) # (8)!
|
||||||
results = session.exec(statement) # (9)
|
results = session.exec(statement) # (9)!
|
||||||
for hero in results: # (10)
|
for hero in results: # (10)!
|
||||||
print(hero) # (11)
|
print(hero) # (11)!
|
||||||
# (12)
|
# (12)!
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
create_db_and_tables()
|
create_db_and_tables()
|
||||||
create_heroes()
|
create_heroes()
|
||||||
select_heroes() # (13)
|
select_heroes() # (13)!
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -43,16 +43,16 @@ def create_heroes():
|
|||||||
|
|
||||||
def update_heroes():
|
def update_heroes():
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
statement = select(Hero).where(Hero.name == "Spider-Boy") # (1)
|
statement = select(Hero).where(Hero.name == "Spider-Boy") # (1)!
|
||||||
results = session.exec(statement) # (2)
|
results = session.exec(statement) # (2)!
|
||||||
hero = results.one() # (3)
|
hero = results.one() # (3)!
|
||||||
print("Hero:", hero) # (4)
|
print("Hero:", hero) # (4)!
|
||||||
|
|
||||||
hero.age = 16 # (5)
|
hero.age = 16 # (5)!
|
||||||
session.add(hero) # (6)
|
session.add(hero) # (6)!
|
||||||
session.commit() # (7)
|
session.commit() # (7)!
|
||||||
session.refresh(hero) # (8)
|
session.refresh(hero) # (8)!
|
||||||
print("Updated hero:", hero) # (9)
|
print("Updated hero:", hero) # (9)!
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -43,31 +43,31 @@ def create_heroes():
|
|||||||
|
|
||||||
def update_heroes():
|
def update_heroes():
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
statement = select(Hero).where(Hero.name == "Spider-Boy") # (1)
|
statement = select(Hero).where(Hero.name == "Spider-Boy") # (1)!
|
||||||
results = session.exec(statement) # (2)
|
results = session.exec(statement) # (2)!
|
||||||
hero_1 = results.one() # (3)
|
hero_1 = results.one() # (3)!
|
||||||
print("Hero 1:", hero_1) # (4)
|
print("Hero 1:", hero_1) # (4)!
|
||||||
|
|
||||||
statement = select(Hero).where(Hero.name == "Captain North America") # (5)
|
statement = select(Hero).where(Hero.name == "Captain North America") # (5)!
|
||||||
results = session.exec(statement) # (6)
|
results = session.exec(statement) # (6)!
|
||||||
hero_2 = results.one() # (7)
|
hero_2 = results.one() # (7)!
|
||||||
print("Hero 2:", hero_2) # (8)
|
print("Hero 2:", hero_2) # (8)!
|
||||||
|
|
||||||
hero_1.age = 16 # (9)
|
hero_1.age = 16 # (9)!
|
||||||
hero_1.name = "Spider-Youngster" # (10)
|
hero_1.name = "Spider-Youngster" # (10)!
|
||||||
session.add(hero_1) # (11)
|
session.add(hero_1) # (11)!
|
||||||
|
|
||||||
hero_2.name = "Captain North America Except Canada" # (12)
|
hero_2.name = "Captain North America Except Canada" # (12)!
|
||||||
hero_2.age = 110 # (13)
|
hero_2.age = 110 # (13)!
|
||||||
session.add(hero_2) # (14)
|
session.add(hero_2) # (14)!
|
||||||
|
|
||||||
session.commit() # (15)
|
session.commit() # (15)!
|
||||||
session.refresh(hero_1) # (16)
|
session.refresh(hero_1) # (16)!
|
||||||
session.refresh(hero_2) # (17)
|
session.refresh(hero_2) # (17)!
|
||||||
|
|
||||||
print("Updated hero 1:", hero_1) # (18)
|
print("Updated hero 1:", hero_1) # (18)!
|
||||||
print("Updated hero 2:", hero_2) # (19)
|
print("Updated hero 2:", hero_2) # (19)!
|
||||||
# (20)
|
# (20)!
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user