我有一张桌子
class Sale(db.Model):
id = db.Column(db.Integer, primary_key=True)
vente_no = db.Column(db.String(50))
lampshade = db.Column(db.String(30))
brocante = db.Column(db.String(30))
buyer = db.Column(db.String(255))
pays = db.Column(db.String(255))
QT = db.Column(db.Integer)
prix_de_vente = db.Column(db.Float)
poste = db.Column(db.Float)
total = db.Column(db.Float)
bordeaux = db.Column(db.Integer)
amazon = db.Column(db.String(255))
bordeaux_euros = db.Column(db.Float)
bordeaux_comm = db.Column(db.Float)
amazon_euros = db.Column(db.Float)
amazon_comm = db.Column(db.Float)
PID = db.Column(db.Integer, db.ForeignKey("period.id"))
date = db.Column(db.Date)
description = db.Column(String(255))
P_id = db.relationship("Period")
def __repr__(self):
return '{}'.format(self.id)
我需要创建一个带有两个参数和过滤器的查询,以便 遍历行。我正在学习我正在学习的这个教程 下面是我的子查询
poste_eu = db.session.query(
(Sale.id, Sale.poste, Sale.pays).filter(or_(Sale.pays=='United Kingdom', Sale.pays=='France', Sale.pays=='Germany',\
Sale.pays=='The Netherlands', Sale.pays=='Italy', Sale.pays=='Slovakia', Sale.pays=='Ireland',\
Sale.pays=='Malta', Sale.pays=='Belgium', Sale.pays=='Spain')).label('poste_eu')
).group_by(Sale.id.asc()).subquery()
但在终端中,这会产生以下错误
>>> poste_monde = db.session.query( ... (Sale.id, Sale.poste, Sale.pays).filter(~or_(Sale.pays=='United Kingdom', Sale.pays=='France', Sale.pays=='Germany',\ ... Sale.pays=='The Netherlands', Sale.pays=='Italy', Sale.pays=='Slovakia', Sale.pays=='Ireland',\ ... Sale.pays=='Malta', Sale.pays=='Belgium', Sale.pays=='Spain')).label('poste_monde') ... ).group_by(Sale.id.asc()).subquery() Traceback (most recent call last): File "<stdin>", line 2, in <module> AttributeError: 'tuple' object has no attribute 'filter' ""
同样的查询也是这样写的
def poste_monde(pid, month):
p_monde = Sale.query.with_entities(Sale.id, Sale.poste).filter(Sale.PID==pid, extract('month', Sale.date)==month,\
~or_(Sale.pays=='United Kingdom', Sale.pays=='France', Sale.pays=='Germany', Sale.pays=='The Netherlands',\
Sale.pays=='Italy', Sale.pays=='Slovakia', Sale.pays=='Ireland', Sale.pays=='Malta', Sale.pays=='Belgium',\
Sale.pays=='Spain', Sale.pays=='FR', Sale.pays=='GB')).all()
return p_monde
我已经看了this问题,不知道是否应该设置我的课程 与懒惰的关系类似
我的查询将有九个子查询,如示例所示,参数 是“pid”和“月”,过滤器是国家/地区列表
我需要帮助才能使第一个查询正常工作,以便添加其余的!!!? 问候 保罗
目前没有回答
相关问题 更多 >
编程相关推荐