from datetime import datetime from typing import Union from peewee import Proxy, Database, Model, CharField, DateTimeField, SqliteDatabase, CompositeKey db: Union[Database, Proxy] = Proxy() class BaseModel(Model): class Meta: database = db class Rides(BaseModel): class Meta: primary_key = CompositeKey('name', 'date') name: str = CharField() date: datetime = DateTimeField(default=datetime.now) models = [Rides] def connect(db_name: str): sqlite = SqliteDatabase(db_name) sqlite.connect() db.initialize(sqlite) db.create_tables(models)