本文整理汇总了Python中tornado.util.ObjectDict.status_counts方法的典型用法代码示例。如果您正苦于以下问题:Python ObjectDict.status_counts方法的具体用法?Python ObjectDict.status_counts怎么用?Python ObjectDict.status_counts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tornado.util.ObjectDict
的用法示例。
在下文中一共展示了ObjectDict.status_counts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_resources_by_status
# 需要导入模块: from tornado.util import ObjectDict [as 别名]
# 或者: from tornado.util.ObjectDict import status_counts [as 别名]
def get_resources_by_status(self):
logger.info("\t ==========[ get_resources_by_status ]==========")
conditions = and_()
or_conditions = or_()
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.APPLIED)
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.CHECKED)
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.PAYED)
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.CONFIRMPAYED)
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.STARTED)
or_conditions.append(Pro_Resource_Apply.status == STATUS_RESOURCE.CLOSED)
conditions.append(or_conditions)
res_status = self.params.get("res_status")
if res_status:
conditions.append(Pro_Resource_Apply.status == res_status)
env_id = self.params.get("env_id", 0)
if env_id:
conditions.append(Pro_Info.env_id == env_id)
logger.info("\t [res_status]: %s" % res_status)
resource_list = self.db.query(
Pro_Resource_Apply
).outerjoin(
Pro_Info, Pro_Info.id == Pro_Resource_Apply.pro_id
).filter(
conditions
).order_by(
Pro_Resource_Apply.create_time.desc()
).all()
# 按状态查询申请数量
status_counts = self.db.query(
Pro_Resource_Apply.status, func.count(Pro_Resource_Apply.id)
).filter(
or_conditions
).group_by(
Pro_Resource_Apply.status
).all()
status_counts = dict(status_counts)
logger.info("status_counts: %s" % status_counts)
# 按环境查询申请数量
env_counts = self.db.query(
Pro_Info.env_id, func.count(Pro_Resource_Apply.id)
).outerjoin(
Pro_Resource_Apply, Pro_Resource_Apply.pro_id == Pro_Info.id
).outerjoin(
Env_Info, Env_Info.id == Pro_Info.env_id
).filter(
or_conditions
).group_by(
Env_Info.id
).all()
env_counts = dict(env_counts)
logger.info("env_counts: %s" % env_counts)
data = ObjectDict()
data.resource_list = resource_list
data.status_counts = status_counts
data.env_counts = env_counts
return self.success(data=data)