繁体   English   中英

在多个Django模型之间进行查询

querying between multiple django models

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有3个模型类别,徽章和奖励。 用户被授予徽章并被奖励存储。 用户模型是django提供的默认模型。

class BadgeCategory(models.Model):
    name = models.CharField(max_length=30)

class Badge(models.Model):
    points = models.IntegerField(default=1)
    title = models.CharField(max_length=30)
    category = models.ForeignKey(BadgeCategory,on_delete=models.SET_NULL,null=True)


class Reward(models.Model):
    awarded_by = models.CharField(max_length=30)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    badges = models.ForeignKey(Badge, on_delete=models.CASCADE)

BadgeCategory指徽章所属的类别,Badge指各种徽章。 奖励包含所有提供给用户的各种徽章。 我正在寻找一个查询,以便得到以下输出格式

用户名 1类 2类
用户1 计数(类别1) 计数(类别2)
用户2 计数(类别1) 计数(类别2)

这里的count(类别k)是指用户收到的类别为k的奖励数量。如果未收到奖励,则奖励数量应为零,并且username列应包含所有用户。 我已经尝试过并到达此查询

Reward.objects.all().values('user__username','badges__category__name') \
        .order_by().annotate(Count('badges__category__name'))

这使输出的用户至少获得了一个奖励,并且仅收到了徽章的类别以及具有该类别的徽章的相应计数,比方说,我的数据库有2个用户A,B和C,这2个类别cat1,cat2 A有2个类别的徽章1和cat 1 B的类别2徽章有1个类别的1 C徽章没有徽章然后上述查询给出

用户名 类别 数数
一种 猫1 2个
一种 猫2 2个
猫1 1个

如果上述格式不可行,我可以解决我收到的但包括所有用户的格式。

谢谢,并提供任何帮助。

问题暂未有回复.您可以查看右边的相关问题.
1 如何查询多个Django模型

我一直很难在Django文档中找到相关示例,或者在网上找到有关如何最有效地查询以下模型的类似示例。 这些模型存储有关销售员工,他们的团队,他们的每周目标和他们的实际产量的数据。 给定提示的日期范围,我想显示一个页面,其中包含每个团队的表格,该范围内的团队成员(团队可以更改成员)以及 ...

3 在Django的两个或多个模型之间筛选queryset以进行搜索

我在Django中建立搜寻表单,我使用筛选查询集来做,这个表单就像是「进阶搜寻表单」,我的意思是表单可以有两个以上的输入,但问题是每个输入对应不同模型的栏位,如果表单的一个模型只有一个输入,则可以正常工作: 如果我有此模型: 在后方法我怎么能在同一形式的搜索InfoPredioG ...

4 在多对多模型之间进行查询

目前,我有2个通过联接表具有多对多关系的模型。 这是这些模型的架构 我的问题是这个。 由于我的deal_id和场所ID仅在联接表Deal_venues中,由于我没有每个模型的ID,如何在交易和场所之间查询? 例如,如果我要查询场地中特定位置提供的交易,该怎么办? 或者, ...

7 Django / Sphinx:如何查询多个模型?

我希望能够一次查询不同的模型并获得全文搜索的聚合结果。 即书籍和作者作为一个列表,例如按相关性排序。 据我了解,在文档中它提到这是可能的,但有一个巨大的限制: 这是否意味着模型应该具有完全相同的字段,或者如果只有索引中的字段是通用的就足够了? 这仍然是一个巨大的限制。 当可以从类本身获取时,为什 ...

8 Django:基于父模型查询多个模型

我正在 Django 中创建一个博客,其中我有一个基本模型PostType ,然后我将其扩展到网站上不同类型内容的几个子类。 例如CodeSnippet和BlogPost 。 想法是这些内容类型大体相同,它们都有作者、标题、slug 等,但它们也有一些独特的字段。 例如,博客文章有一个文本内容字段 ...

9 django是否在查询之间缓存模型数据?

我正在使用django 1.6,使用mysql 5.6作为innodb表的数据库。 我的设置文件中的Debug设置为false。 在脚本中,我遍历一个元素列表,检查它是否已存在于db中,如果它不存在则创建,如下所示: 我希望这只在不存在的情况下在数据库中创建一个项目,但是这种方法 ...

10 Django比较模型和mysql查询之间的数据

在我的 django 项目中,我有一个包含一些字段的模型: 模型.py 好吧,我有一个带有相同表字段名称的表的外部 mysql db,我必须对该数据执行查询并将结果与​​我的模型数据进行比较,mysql 表是主表,我已经将模型中的数据调整为数据在mysql中(添加新行,删除不再存在的行或修改它 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM