Django,使用其他表中的数据进行注释和排序

2023-11-29

在我的应用程序中,有请求物品的用户和捐赠这些物品的用户。我想获取所有捐款最多的用户。

这些是我的模型:

class ItemRequest(models.Model):
    item_type = models.ForeignKey(ItemType)
    description = models.CharField(max_length=1024, default='', blank=True)
    quantity = models.IntegerField()
    user = models.ForeignKey(User)
    completed = models.BooleanField(default=False)
    completed_dt = models.DateTimeField()


class Donation(models.Model):
    item_request = models.ForeignKey(ItemRequest, related_name='donation')
    user = models.ForeignKey(User, related_name='donor')
    quantity_offered = models.IntegerField(default=0)
    quantity_accepted = models.IntegerField(default=0)

更具体地说,我想获取“完成”捐赠最多的前 5 位捐赠者(其中item_request.completed=True)。我可以通过一个查询来完成此操作吗?


(User.objects
       .filter(donor__item_request__completed=True)
       .annotate(c=Count('donor'))
       .order_by('-c')[:5])

你可能应该命名你的Donation.user.related_name donation too.

那么就会是

(User.objects
       .filter(donation__item_request__completed=True)
       .annotate(c=Count('donation'))
       .order_by('-c')[:5])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django,使用其他表中的数据进行注释和排序 的相关文章

随机推荐

  • Oracle 数据库测试挑战 - 比较架构数据

    想知道是否有人可以帮助我在这个挑战中找到正确的方向 或者告诉我我很想通过 sql 尝试这个 如果 sql 太具有挑战性 是否有任何免费或廉价的工具可以帮助我自动化执行此操作 我正在测试新旧 Oracle 数据库之间的一些数据 我想做的是能够
  • 有没有办法克隆 tkinter 小部件?

    我正在尝试创建小部件网格 这个小部件网格一开始是标签 告诉我它们的坐标 然后我有一个将替换它们的按钮的起点和终点的列表 假设我有一个从 0 0 到 0 2 的按钮 我从该位置删除标签 并在此处放置一个具有正确行距的按钮 如果一个按钮将替换另
  • Apache Kafka 中的分区数量是否有上限

    我读到它是 10000 但我想知道的是这个限制是针对 1 个代理还是整个集群 我想要一个带有事件名称的主题并捕获用户的所有事件流 现在 我希望在该特定用户的事件将发生的专用分区上记录每个用户的活动 现在 如果用户数量超过 10000 该怎么
  • 在两个微服务之间共享域模型的最佳实践

    是否有关于如何在两个微服务之间共享域模型的最佳实践或指南 我有一个微服务 1 它提供与所有 CRUD 资源 例如订单 交互的端点 另一个微服务 2 对资源 订单 执行特定的非 CRUD 任务 微服务 2 几乎需要所有订单属性来执行其操作 在
  • 视觉代码 - 排除具有多个条件的文件

    有一个选项可以使用 when 关键字排除生成的文件 例如 files exclude js when basename ts 我还想排除从 tsx 文件生成的 js 文件 两者都不 js when basename ts basename
  • C#:FTP上传缓冲区大小

    我有FTP上传功能 但有件事我想问一下 这是缓冲区大小 我将其设置为 20KB 这意味着什么 如果我增加 减少它 会有什么不同吗 private void Upload string filename FileInfo fi new Fil
  • 使用 Thrust::transform 对推力:​​:复杂类型进行操作

    我正在尝试使用thrust transform对类型向量进行操作thrust complex
  • Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() 方法抛出 System.InvalidOperationException

    我正在使用 Microsoft Speech 不是 System Speech 并且尝试将音频流的输入设置为我的麦克风 这是默认音频设备 但它引发了异常 Microsoft Speech dll 中发生 System InvalidOper
  • jquery 函数不适用于异步加载的 dom 元素

    I wrote jQuery事件处理程序开启DOM尚未出现在页面中但可能会异步加载到页面中的元素 我观察到这些事件处理程序似乎没有意识到一些新元素已添加到DOM并且他们需要在触发时对其采取行动 我的观察正确吗 我如何实现这个功能 如果您希望
  • 为什么 .length 不是一个需要 () 的方法

    JavaScript中为什么关键字长度不需要 似乎所有其他函数 例如 splice shift 都需要括号 我们只能推测为什么它被设为普通属性而不是方法 但是 那 length是每个字符串 数组的常量值 它在计算时不会修改任何内容 它不像方
  • 避免警告“非依赖属性的设置方法不应访问...”

    我有一个类 它有一些属性 并且有 2 个相关 在示例中称为param1 param2 他们是独立的 只是受到约束 param2必须一样大或大于param1并且必须始终存在 如果param1做 有问题的代码类似于 function set p
  • boost asio 缓冲区延迟分配

    异步操作 现在我传递预分配的字节缓冲区 例如 s async receive from boost asio buffer preallocated pointer preallocated size remote endpoint boo
  • 如何从一个 HTML5 画布拖放到另一个画布

    我试图弄清楚如何将图像从一个画布拖放到另一个画布 假设画布彼此相邻 是否可以无缝地将某些东西拖过边界 如果不是 将 div 拖到画布上 获取其 ID 然后通过响应画布上的 mouseup 位置来放置它是不是更好 您不能在画布上拖动项目 画布
  • 如何检查是否有任何 JavaScript 事件侦听器/处理程序附加到元素/文档? [复制]

    这个问题在这里已经有答案了 尝试在线搜索 但看起来我无法正确制定搜索查询 我如何使用 jQuery 或仅使用 javascript 列出附加到元素 文档 窗口或存在于 DOM 中的所有处理程序或事件侦听器 在 1 8 之前的 jQuery
  • 有理数 - ruby​​ 中的原始数字

    如何获得原始号码 例如当我输入 r Rational 2 10 1 5 2和10将更改为1和5 r numerator 1 r denominator 5 如何从 Rational 类的实例中获取 2 和 10 r 我对 Rational
  • Android:DCIM 文件夹中的重复照片存储

    我正在使用本机 Android 相机并将文件保存到应用程序数据文件夹 mnt sdcard Pictures 同时 在某些设备上 照片的另一个副本会保存到 DCIM 文件夹中 这是我的代码 private void startStockCa
  • Inno Setup 根据可执行调用的结果有条件重新启动

    我的 Inno Setup 脚本用于安装驱动程序 它运行我的InstallDriver exe在步骤中复制此文件后ssInstall 我需要根据返回的值要求用户在某些情况下重新启动InstallDriver exe 这意味着我不能把Inst
  • Pandas dataframe:从列中的字符串中提取浮点值

    我正在尝试从特定列的字符串中提取浮动值 原始输出 DATE strCondition 4 3 2018 2 9 4 3 2018 3 1 text 4 3 2018 2 6 text 4 3 2018 text 2 7 和其他变化 我也尝试
  • ASP.NET MVC 下的 SSL 页面

    如何对基于 ASP NET MVC 的站点中的某些页面使用 HTTPS Steve Sanderson 在预览版 4 上有一个关于如何以 DRY 方式执行此操作的非常好的教程 网址为 http blog codeville net 2008
  • Django,使用其他表中的数据进行注释和排序

    在我的应用程序中 有请求物品的用户和捐赠这些物品的用户 我想获取所有捐款最多的用户 这些是我的模型 class ItemRequest models Model item type models ForeignKey ItemType de