Светлый фон

Связываем каждый объект типа Model с базой данных.

Первичный ключ будет добавлен неявно, если вы не сделаете этого самостоятельно.

Эта строка добавляет атрибут purchases к записям Customer для упрощения доступа, но ничего не делает с таблицами.

Инициализируем данные и добавляем их в базу данных за один шаг с помощью метода create() или же сначала инициализируем их, а затем добавим (существуют настройки конфигурации для управления автоматической отправкой транзакций и вспомогательными программами для них). Это делается за один этап:

 

Добавьте объект (вроде cat) — и peewee будет использовать его первичный ключ.

В отношении «многие-ко-многим» нет ничего волшебного — просто добавьте новые записи вручную.

Пример запроса выглядит так:

>>> 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)