Переопределение select в Peewee для класса

У меня много таблиц (и, соответственно, моделей) и к некоторым из них select() нужно делать определенным образом. Хочется, чтобы вне peewee не приходилось задумываться об особенностях таблиц, делать просто tableName.select(), а далее в peewee моделях уже этот select либо переопределен для класса tableName, либо нет и используется дефолтный. Попыталась сделать так:

class TableName(BaseModel):
 ...
    @classmethod
    def select(self)
        return (Model
                 .select(self.cls, self.fields)
                 .join(something)) 

AttributeError: type object 'TableName' has no attribute 'cls'

Если ничего не передавать, то:

AttributeError: type object 'Model' has no attribute '_meta'

На всякий случай у Model.select аргументы cls, *fields.

Как это правильно сделать? И можно ли?


Ответы (0 шт):