V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolair
V2EX  ›  问与答

请教一个 Django ORM 查询问题

  •  
  •   coolair · 2020 年 12 月 30 日 · 462 次点击
    这是一个创建于 1926 天前的主题,其中的信息可能已经有所发展或是发生改变。
    query = User.objects.filter(state=2).values('dept_id', 'state').annotate(max_date=Max('created'))
    query = assessment_set.values('state')
    for item in query.all():
        print(item)
    
    # 输出结果如下:
    {'state': 1}
    {'state': 2}
    {'state': 2}
    {'state': 1}
    
    query = query.annotate(count=Count('state'))
    for item in query.all():
        print(item)
    
    # 输出结果如下:
    {'state': 1, 'count': 3}  # 为什么这里不是 2 ?
    {'state': 2, 'count': 2}
    

    统计部门最新用户的状态数据,为什么第二此 query 中的 count 不是基于前面的 state 来的而是所有的 state (未过滤最大日期的)?

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5564 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 08:21 · PVG 16:21 · LAX 01:21 · JFK 04:21
    ♥ Do have faith in what you're doing.