gpt4 book ai didi

python - Django聚合函数问题(Count = -number-)

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:56 25 4
gpt4 key购买 nike

User
id
name
Device
id
name
user-id
is_enabled

我想选择所有拥有
的用户

  1. 至少启用一台设备。
  2. 仅启用 2 台设备
  3. 所有设备均已启用

    注意:启用意味着(Device.is_enabled = 1)

我知道我可以使用注释来获取设备数量。但是如何使用 annonate 来获取恰好拥有 2 个启用设备的用户数量,

我现在正在搞事情

User.objects.filter('device_set__is_enabled'=1)

它提供至少拥有一台启用的设备的用户列表。不知道下一步该做什么。

最佳答案

from django.db.models import Count
User.objects.filter(device__is_enabled=1).annotate(
device_count=Count('device')).filter(device_count=2)

User.objects.exclude(device__is_enabled=0)

关于python - Django聚合函数问题(Count = -number-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6955775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com