计数相关并在SQLAlchemy中进行过滤

保罗·拉芬

因此,我有一个对象服务,对象服务有一个指向对象服务员的外键。对象服务员还具有一个时间字段“ exit”,该字段必须小于当前时间。想法是返回所有对象Waiter并计数与它们相关联的对象服务的数量,该对象具有大于当前时间的字段出口。然后,我必须对表执行相同的操作。

最后,我需要过滤出当前拥有四个或多个当前服务的服务员,并且我必须过滤具有一个或多个服务的表。

这是我的模型:

class Waiter(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128))
    service = db.relationship('Service', backref='waiter', lazy=True)

class Table(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    table_no = db.Column(db.String(128))
    service = db.relationship('Service', backref='table', lazy=True)
    
class Service(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    table = db.Column(db.Integer, db.ForeignKey('table.id'))
    waiter = db.Column(db.Integer, db.ForeignKey('waiter.id'))
    arrival = db.Column(db.DateTime, default=datetime.datetime.now(mx))
    exit = db.Column(db.DateTime)
    tip = db.Column(db.Numeric(10,2))

到目前为止,我有类似的东西:

waiters = Waiter.query(Waiter.id, \
func.count(*"I don't know what to put  here"*).\
label("service_count")).groupby(Waiter.id).subquery()

编辑:

经过进一步研究,我得出以下查询。我仍然不知道是否正确:

waiters = Waiter.query(Waiter.id, \
func.count("*").filter(Service.exit>=datetime.datetime.now()) .\
label("service_count")).groupby(Waiter.id).subquery()

任何帮助深表感谢。非常感谢你。

保罗·拉芬

我得到的答案可以满足我的要求,但是我得到的不是数值注释,而是数值。是这样的:

waiters = db.session.query(Waiter, func.count(Service.id).\
    filter(Service.exit>time)).\
        outerjoin(Service).group_by(Waiter).all()

它返回如下内容:

[(<Waiter 1>, 0)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Powershell中进行分组/计数

来自分类Dev

在Powershell中进行计数,排序和分组

来自分类Dev

在Haskell中进行过滤

来自分类Dev

如何在MongoDB中进行计数?

来自分类Dev

分别在jQuery中进行计数

来自分类Dev

在ngFor中进行计数-Angular 2

来自分类Dev

将逻辑NOT应用于propEq并在ramda中进行过滤

来自分类Dev

如何按相关集合属性过滤的相关集合计数对集合(如前20个)进行排序?

来自分类Dev

如何按域过滤电子邮件列表并在JavaScript中进行计数?

来自分类Dev

在Ruby on Rails中进行过滤

来自分类Dev

在mongDB聚合函数中进行条件计数

来自分类Dev

如何将数据从行转换为特定列并在R中进行计数?

来自分类Dev

如何在MongoDB中进行嵌套计数?

来自分类Dev

在Javascript函数中进行计数。

来自分类Dev

Django ORM-按多个级别的相关计数进行过滤

来自分类Dev

在Powershell中进行分组/计数

来自分类Dev

按SQLAlchemy中的孙子计数过滤

来自分类Dev

在Haskell中进行过滤

来自分类Dev

在Excel中进行分组计数

来自分类Dev

使用输入过滤字段并在angularJS中进行下拉

来自分类Dev

需要更改硬代码并在此查询中进行过滤

来自分类Dev

如何按相关集合属性过滤的相关集合计数对集合(如前20个)进行排序?

来自分类Dev

如何使用网址在python中进行计数

来自分类Dev

Laravel在相关表中进行多次搜索

来自分类Dev

在python中进行计数的更好的循环结构

来自分类Dev

协助从列表中进行简单计数

来自分类Dev

在python中进行计数的循环

来自分类Dev

在 TSQL 中进行计数的最佳方法

来自分类Dev

从过滤的文档中进行 Elasticsearch

Related 相关文章

热门标签

归档