Я пытаюсь заключить peewee модели и классы в другой интерфейс и хочу динамически назначить модель для базы данных.Для этого я использую класс peewee.Proxy, но я не хочу использовать глобальную переменную для инициализации этого прокси.Я хотел сделать метод класса для изменения мета (внутреннего) класса базовой модели, но я получаю следующую ошибку:
AttributeError: type object 'BaseModel' has no attribute 'Meta'
Код, который у меня есть:
import peewee as pw
class BaseModel(pw.Model):
class Meta:
database = pw.Proxy()
@classmethod
def configure_proxy(cls, database: pw.Database):
cls.Meta.database.initialize(database)
Конечно, я мог быполучить доступ к этой переменной, вызвав BaseModel.Meta.database, но, на мой взгляд, она менее интуитивна.
Есть ли у вас какие-либо предложения?