Получать еженедельную информацию о транзакциях
У меня есть простой веб-сайт, созданный с помощью Flask и Peewee в качестве ORM, который аннотирует напитки, которые каждый сотрудник получает, а затем раз в неделю проверяет, кто что пьет, сколько и когда. У меня есть простая таблица с именем orders, которая выглядит так:
Заказы - идентификатор, продукт, пользователь, сумма, цена, дата
И то, что я хочу сделать, - это иметь простую страницу, где кто-то может проконсультироваться о том, что произошло с определенной даты до текущего дня (например, с 14-02 до сегодняшнего дня 21-02). Как мне сделать такой запрос в peewee?
1 ответ
Как человек, который никогда не слышал о Пиви до десяти минут назад, прими это с крошкой соли:
from datetime import date
from peewee import *
class DrinksModel(Model):
class Meta:
database = SqliteDatabase('drinks.db')
class Order(DrinksModel):
id = PrimaryKeyField()
product = CharField()
user = CharField()
amount = IntegerField()
price = DecimalField()
date = DateField()
def get_orders_since(year, month=1, day=1):
orders = Order.select().where(Order.date >= date(year, month, day))
for order in get_orders_since(2014, 2, 14):
print(
"{}: {} drank {} x {}"
.format(order.date, order.user, order.amount, order.product)
)
Если это дает ошибку, дайте мне знать, что она говорит, и мы пойдем оттуда.
Предлагаемые изменения:
user
поле, вероятно, должно стать внешним ключом в таблице Userproduct
поле должно стать внешним ключом в таблице Product, аprice
поле должно войти в таблицу Product