【问题标题】:Get weekly information about transactions [closed]获取有关交易的每周信息 [关闭]
【发布时间】:2014-02-22 05:41:40
【问题描述】:
我有一个简单的网站,它使用 Flask 和 Peewee 作为 ORM 来注释办公室里每个人都喝到的饮料,然后,大约每周一次,检查谁喝了什么、喝了多少以及什么时候喝。我有一个名为 orders 的简单表,如下所示:
订单 - ID、产品、用户、数量、价格、日期
我想做的是有一个简单的页面,人们可以在其中查阅从特定日期到当天(例如,从 14-02 到今天 21-02)发生的事情。如何在 peewee 中进行这样的查询?
【问题讨论】:
标签:
python
peewee
flask-peewee
【解决方案1】:
作为一个直到十分钟前才听说过 Peewee 的人,对此持保留态度:
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 字段可能应该成为用户表的外键
product 字段应该成为 Product 表的外键,price 字段应该成为 Product 表