Инициализируем данные и добавляем их в базу данных за один шаг с помощью метода create() или же сначала инициализируем их, а затем добавим (существуют настройки конфигурации для управления автоматической отправкой транзакций и вспомогательными программами для них). Это делается за один этап:
Пример запроса выглядит так:
>>> for p in Purchase.select(). where(Purchase.purchase_date > d — 1 * day):
… ····print(p.customer.name, p.purchase_date)
…
Douglas 1971-12-18
Cat 1971-12-19
>>>
>>> from peewee import fn
>>> q = (Cheese
… ····.select(Cheese.kind, fn.COUNT(Purchase.id). alias('num_purchased'))
… ····.join(PurchaseCheese)
… ····.join(Purchase)
… ····.group_by(Cheese.kind)