如何从多对多关系的属性中获取Django查询的值?

亚历山德拉·卡内罗(Alessandra Carneiro)

我有以下两种模型:

class Company(models.Model):
    name = models.CharField(max_length=100)

class User(models.Model):
    ACCES_TYPE_CHOICES = (
        ('ADMIN', 'Admin'),
        ('GUEST', 'Guest')
    )
    company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='users')
    access_type = models.CharField(max_length=5, choices=ACCES_TYPE_CHOICES)

我想要一个查询,该查询将返回每个公司access_type == GUEST的用户数量和用户数量的值access_type == ADMIN,如下所示:

<QuerySet [{'id': 1, 'name': 'Company name', 'admin_users': 3, 'guest_users': 1}]>

我尝试了一些带注释的方法,但找不到解决方案。

谢谢你的帮助!

威廉·范·昂塞姆(Willem Van Onsem)

您可以表达式[Django-doc]中使用filter=…参数Count[Django-doc]

from django.db.models import Count, Q

Company.objects.annotate(
    admin_users=Count('users', filter=Q(access_type='ADMIN')),
    guest_users=Count('users', filter=Q(access_type='GUEST'))
)

由此Company产生对象将具有两个额外的属性:.admin_users.guest_users

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从多对多关系的属性中获取Django查询的值?

来自分类Dev

从多对多关系中的联接获取属性值

来自分类Dev

如何在Oracle中获取多对多关系查询?

来自分类Dev

如何获取涉及Django中多对多关系的对象列表

来自分类Dev

如何查询多对多关系?

来自分类Dev

Django Rest Framework:只需获取多对多关系的某些值

来自分类Dev

如何在Django上查询多对多关系?

来自分类Dev

Django如何查询所有对象匹配的多对多关系

来自分类Dev

在Django的多对多关系中从查询集中排除对象

来自分类Dev

Django - 查询以检查多对多关系字段中的项目

来自分类Dev

Django中的多对多关系

来自分类Dev

Django:在多模型中查询一对多关系以查找具有某些属性的现有关系

来自分类Dev

如何使EF查询返回MVC 5 ASP.NET中多对多关系表的聚合值

来自分类Dev

如何从多对多关系表中获取第三个属性?

来自分类Dev

Django) 如何在多对多关系中查询另一个模型的字段

来自分类Dev

如何在Django中以双向多对多关系从两个模型中获取数据

来自分类Dev

如何从具有一定条件的多对多关系中获取所有值

来自分类Dev

如何查询多对多关系中的空记录

来自分类Dev

如何在 Laravel 中查询逆多对多关系

来自分类Dev

在Django的多对多关系中获得额外的字段值

来自分类Dev

基于多对多关系的Django查询

来自分类Dev

如何使用Django查询从一对多关系中获取数据

来自分类Dev

如何在Laravel中从多对多关系的一对多关系中获取项目?

来自分类Dev

如何在Django中从多对多关系中检索数据

来自分类Dev

如何在Grails的“多对多关系”中获取dateCreate?

来自分类Dev

如何从多对多关系中获取数组到对象

来自分类Dev

Django以多对多关系获取相关对象

来自分类Dev

如何在Django中过滤多对多关系

来自分类Dev

多对多关系中的JPA标准查询

Related 相关文章

  1. 1

    如何从多对多关系的属性中获取Django查询的值?

  2. 2

    从多对多关系中的联接获取属性值

  3. 3

    如何在Oracle中获取多对多关系查询?

  4. 4

    如何获取涉及Django中多对多关系的对象列表

  5. 5

    如何查询多对多关系?

  6. 6

    Django Rest Framework:只需获取多对多关系的某些值

  7. 7

    如何在Django上查询多对多关系?

  8. 8

    Django如何查询所有对象匹配的多对多关系

  9. 9

    在Django的多对多关系中从查询集中排除对象

  10. 10

    Django - 查询以检查多对多关系字段中的项目

  11. 11

    Django中的多对多关系

  12. 12

    Django:在多模型中查询一对多关系以查找具有某些属性的现有关系

  13. 13

    如何使EF查询返回MVC 5 ASP.NET中多对多关系表的聚合值

  14. 14

    如何从多对多关系表中获取第三个属性?

  15. 15

    Django) 如何在多对多关系中查询另一个模型的字段

  16. 16

    如何在Django中以双向多对多关系从两个模型中获取数据

  17. 17

    如何从具有一定条件的多对多关系中获取所有值

  18. 18

    如何查询多对多关系中的空记录

  19. 19

    如何在 Laravel 中查询逆多对多关系

  20. 20

    在Django的多对多关系中获得额外的字段值

  21. 21

    基于多对多关系的Django查询

  22. 22

    如何使用Django查询从一对多关系中获取数据

  23. 23

    如何在Laravel中从多对多关系的一对多关系中获取项目?

  24. 24

    如何在Django中从多对多关系中检索数据

  25. 25

    如何在Grails的“多对多关系”中获取dateCreate?

  26. 26

    如何从多对多关系中获取数组到对象

  27. 27

    Django以多对多关系获取相关对象

  28. 28

    如何在Django中过滤多对多关系

  29. 29

    多对多关系中的JPA标准查询

热门标签

归档