繁体   English   中英

在多个 django 模型之间查询

querying between multiple django models

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

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

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 是指各种徽章。 奖励包含给予用户的所有各种徽章。 我正在寻找一个查询,以便我得到 output 的以下格式

用户名 第一类 第 2 类
用户 1 计数(第 1 类) 计数(第 2 类)
用户 2 计数(第 1 类) 计数(第 2 类)

这里 count(category k) 是指用户收到的具有类别 k 的奖励的数量,如果没有收到奖励,它应该是零,并且用户名列应该包含所有用户。 我已经尝试并达到了这个查询

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

这使得 output 的用户获得了至少一个奖励,并且只有获得徽章的类别以及该类别的相应徽章数量,假设我的数据库有 2 个用户 A、B 和 C,2 个类别cat1,cat2 A 有 cat 1 的 2 个标记和 cat 2 的 1 个标记 B 有 cat 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