Coverage for docs_src / advanced / datetime / tutorial001_py311.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-11-09 00:02 +0000

1from datetime import UTC, datetime 1abcdefgh

2 

3from sqlmodel import Field, Session, SQLModel, create_engine 1abcdefgh

4 

5 

6class Event(SQLModel, table=True): 1abcdefgh

7 id: int | None = Field(default=None, primary_key=True) 1abcdefgh

8 created_at: datetime = Field(default_factory=lambda: datetime.now(UTC)) 1aibjckdlemfngohp

9 

10 

11sqlite_file_name = "database.db" 1abcdefgh

12sqlite_url = f"sqlite:///{sqlite_file_name}" 1abcdefgh

13 

14engine = create_engine(sqlite_url, echo=True) 1abcdefgh

15 

16 

17def main(): 1abcdefgh

18 event = Event() 1ijklmnop

19 print("Event:", event) 1ijklmnop

20 

21 SQLModel.metadata.create_all(engine) 1ijklmnop

22 with Session(engine) as session: 1ijklmnop

23 session.add(event) 1ijklmnop

24 session.commit() 1ijklmnop

25 session.refresh(event) 1ijklmnop

26 print("Event from database:", event) 1ijklmnop

27 

28 

29if __name__ == "__main__": 1abcdefgh

30 main()