Django 按向后外键排序

2024-02-25

我目前有以下型号

class ChatRoom(models.Model):
      creator = models.ForeignKey('User') # points to the initial user

class Message(models.Model):
      room = models.ForeignKey('ChatRoom')
      text = models.CharField(max_length=500)
      date = models.DateTimeField()
      from = models.ForeignKey('User') # points to some user

对于登录我的网站的任何给定用户,我想显示他们创建的聊天室列表,按最后一条消息(最新活动)的日期以及输入聊天室的最后一条消息排序

所以像

Your chat rooms
---------------
science - "hey guys, anyone know how to do calculus?" 5m
art     - "hey guys, I like art" 10m

我将如何在 django 中执行此查询?请记住,一个人可能有很多很多聊天室,因此我们不能只加载所有的 chat_roomsChatRoom.objects.all()并手动迭代它。


您需要与您的上一条消息有额外的关系,否则您将无法通过他们订购。

class ChatRoom(models.Model):
      creator = models.ForeignKey('User') # points to the initial user
      # you will need to set this in view or with signals.(don't forget to handle delete)
      last_message = models.ForignKey('Message')

你可以做到这一点

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

Django 按向后外键排序 的相关文章

  • Django:对对象中的列表进行排序

    I have list1按 id 顺序排列 像这样 4 2 1 17 edited 如何获得list2从对象条目按顺序list1 在查询ValueList的情况下 还有关于这个问题 u 4 u 2 u 1 u 17 因为有些属性不在Quer
  • 如何在 django-tastypie 中获取授权用户对象

    我需要在水合物方法中获取授权用户对象 如下所示 class SalepointResource ModelResource def hydrate self bundle user bundle request user But reque
  • Django 管理员使用 JWT

    Using 姜戈 1 11 Python 3 6 FE 中的 DRF 与 JWT 我知道 Django 管理员使用会话和基本身份验证 到目前为止我所做的 用 AWS Cognito 替换了 Django 管理员身份验证登录页面 用户转到do
  • Django - 在启动时执行代码

    我正在使用 Django 1 9 3 我有一个包含多个应用程序的项目 我想在项目启动时更新其中一个应用程序的表 用例 例如 假设我想在我的网站上销售商品 我有一个包含模型项目的应用程序 我在 Django 之外有一个网络服务 它提供服务 g
  • 如何将 Ajax() 中的值获取到 Django 模板中?

    我有一个 Django 模板 它显示从数据库接收的多个值并将其传递给模板 如下所示 在views py中 def test1 requests requests get requests get requests get someQuery
  • 将 Django South 与多个代码分支结合使用的工作流程

    我很好奇其他 Django 开发人员在使用多个代码分支进行开发时如何使用 South 管理数据库迁移 让我举一个示例场景 举例来说 您从主干开始开发 您从主干创建分支 A 此时 最后一个迁移版本为app 1是0010 然后您为app 1在创
  • 如何在 Django 中创建多选框?

    我正在尝试创建多选框字段来自姜戈选择 2 https github com applegrew django select2库如下图所示 我使用了下一个代码 但它返回简单的选择多个小部件 我想我忘了补充一些东西 我的错误在哪里 有人可以告诉
  • Django:什么时候运行 makemigrations?

    除了向模型添加 删除 修改字段之外 当我向模型添加或修改方法时 Django 还会检测到更改 所以我的问题是我应该跑步吗makemigrations每次我在模型中更改或添加新方法时 当您添加 更改模型方法时 您不需要运行 manage ma
  • 在 osx 上安装 pycrypto 时出现问题

    我正在尝试将 Django 项目安装到我的 OSX 计算机上 这需要 PyCrypto 我收到以下错误 running install running build running build py running build ext run
  • 使用 django Rest 框架 ModelViewSet 类而不是 APIView 渲染表单

    我想使用其余框架为我的 django 模型创建样板表单 文档显示它使用 APIView http www django rest framework org topics html and forms rendering forms htt
  • Django - render()、render_to_response() 和 direct_to_template() 之间有什么区别?

    两者之间的视图有什么区别 用 python django 新手可以理解的语言 render render to response and direct to template 例如从Nathan Borror 的基本应用程序示例 https
  • pyPDF通过django合并并显示为httpresponse

    我在合并 pyPDF 逻辑以将两个 pdf 文件合并到我的 django 站点时遇到问题 我编写了在本地服务器上的 python 文件中运行时用于合并文件的代码 但我需要明确识别要合并的文件 from pyPdf import PdfFil
  • Django ModelForm 不将数据保存到数据库

    Django 初学者在使用表单时遇到很多困难 是的 我已经完成了本教程并浏览了很多网络 我所拥有的是我在这里和其他网站上找到的内容的混合体 我正在使用 Python 2 7 和 Django 1 5 虽然官方文档很广泛 但它往往假设您已经了
  • 从values() 或values_list() 中排除字段

    有没有一种有效的方法从函数中排除字段values or values list e g Videos objects filter id 1 get values 我想从此查询集中排除该字段duration 我知道我可以指定我想要在结果中包
  • 有皮茨时区列表吗?

    我想知道 Python 库 pytz 中时区参数的所有可能值是什么 怎么做 您可以列出所有可用的时区pytz all timezones In 40 import pytz In 41 pytz all timezones Out 42 A
  • 如何引用 models.py 之外的信号

    在文档中Django 它指定models py是定位信号回调函数的好地方 post save pre save etc 这段代码应该放在哪里 您可以将信号处理和注册代码放在您喜欢的任何地方 但是 您需要确保它所在的模块获取 尽早导入 以便信
  • Django 的登录代码

    谁能给我一些带有模板代码的示例代码来创建 Django 登录 Thanks 包含示例登录模板在文档中 https docs djangoproject com en stable topics auth default module dja
  • 嵌套重组 - Django

    我有一个包含以下字段的模型 日期 员工 和 计划时间 每个员工对于不同的日期都有不同的计划工作时间 我正在尝试构建我的模板 其中员工按行列出 他们的计划工作时间列在正确的相应日期下的列中 像这样的东西 https i stack imgur
  • 在 Django 中上传文件

    我在 Django 1 6 版本 中上传文件时遇到问题 当我尝试做的时候new file data save 在我的views py 中我收到此错误 quiz patent 22 medical record 2 exams 处的属性错误
  • Django,无法分配 None,不允许空值

    我有这个模型 py import datetime from django db import models from tinymce import models as tinymce models from filebrowser fie

随机推荐

  • 录制第二个音频剪辑时 MediaRecorder 崩溃

    我正在尝试使用 MediaRecorder 录制音频剪辑 但当我启动 停止和再次启动时 我的 Logcat 中不断出现这些错误 该活动也将结束 INFO DEBUG 1285 INFO DEBUG 1285 Build fingerprin
  • Apache poi 分页符

    我需要创建一个简单的 Word 文档用于从 java 程序打印 有必要将输出打印在单独的页面上 我正在使用以下代码 XWPFDocument document new XWPFDocument XWPFParagraph paragraph
  • 读取文件内容时出现奇怪的字符

    我不确定出了什么问题 for line in open textfile r print line Output abcd 该文件是使用 textpad 使用 Unix EOL 和 UTF8 编码创建的 现在 它可以在 notepad 上使
  • 屏幕阅读器无法读取 Firefox 中的 Aria-Live

    我遇到一个问题 屏幕阅读器无法读取 FireFox 中 aria live 部分中更改的文本 这是一个简单的页面示例 在 Chrome 中 屏幕阅读器会读取更改 而在 FireFox 中则不会 div div 难道我做错了什么 除了人们在
  • MySQL查询选择过去N天的记录

    我有一张桌子 上面有date added列的格式为2014 09 30 20 39 17我有一个网页 其中包含供用户使用的过滤器选项 基本上我想使用变量来选择不同的日期范围 如下所示 SELECT FROM table WHERE date
  • Pandas:如何将多索引数据帧与单个索引数据帧连接起来,以及自定义排序

    我有一个 MultiIndex pandas DataFramedf multi like import pandas as pd df multi pd DataFrame A A1 0 234 2002 A A1 1 324 2550
  • 添加角度为 10 的 swagger-UI

    如何添加招摇的用户界面在你的角度应用程序中 我已经多次搜索这个问题 发现只有一个解决方案 并且它是使用完成的swagger ui dist包 但在最新版本的https www npmjs com package swagger ui告诉使用
  • NSTextField 优于 NSOpenGLView

    我用 NSOpenGLView 创建了一个窗口 将 openGL 内容渲染到其中 我想向视图添加一些按钮和文本字段 我可以使用界面生成器 或代码 添加 NSTextFields 和 NSButtons 但它们不会出现 NSOpenGLVie
  • 如何修改Eclipse代码辅助中非活动行的颜色?

    首先 已经有类似的问题 https stackoverflow com questions 4402087 how to change the color of the currently selected line in a code a
  • 如何强制安装软件包?

    我正在尝试通过以下方式安装以下软件包composer https packagist org packages cartalyst sentry dev feature laravel 5 https packagist org packa
  • 为什么 JAXB 2 RI 的 XJC 简单模式会更改集合名称?

    JAXB简单绑定模式将集合名称修改为其复数 版本 例如 附加数据 变为 附加数据 有什么解决方案可以改变这种行为吗 我需要一个与 XSD 字段名称相同的 Java 字段名称和方法名称 我的绑定文件
  • 忠实地保留已解析 XML 中的注释

    我希望在操作 XML 时尽可能忠实地保留注释 我设法保留了注释 但内容正在被 XML 转义 usr bin env python add host to tomcat py import xml etree ElementTree as E
  • 如何获取 Laravel 中已注册的路由路径列表?

    我希望找到一种方法来创建一个包含 Laravel 4 中注册的路由路径的数组 本质上 我希望得到一个类似这样的列表 login join password 我确实遇到了一个方法Route getRoutes 它返回一个包含路由信息和资源的对
  • 如何解决 RASA NLU 中未对齐的实体注释错误

    我正在尝试将 LUIS 架构模型导入 RASA 并尝试使用 spacy scikit 管道对其进行训练 我正在使用 RASA NLU v0 10 4 但是当我尝试加载 LUIS 模型架构时 ner crf 组件会抛出实体注释未对齐警告 尽管
  • 垂直滚动的整页背景图像

    我正在尝试创建一个页面 其中背景图像响应浏览器的屏幕尺寸 但是 我需要该图像下的内容 这样如果该人向下滚动 背景图像就会结束 这很难解释 所以我尝试创建一个图像以使其更清晰 尝试这个Fiddle http jsfiddle net Uwt6
  • 即使测试通过,鼻子测试跑步者也会显示日志记录

    我在用nosetests test py运行单元测试 import unittest import logging class Test unittest TestCase def test pass self logging getLog
  • Twitter Bootstrap 导航栏的按钮可以左对齐吗?

    我希望该按钮出现在移动设备上菜单的左侧 Twitter Bootstrap 可以实现这一点吗 这是我的标记
  • 如何使用 log4net 记录 Trace 消息?

    我正在使用 log4net 将写入日志消息记录到滚动日志文件中 现在我还将重定向所有跟踪消息System Diagnostics Trace到该日志文件 我该如何配置呢 我试图在 log4net 文档中找到任何相关内容 但没有成功 有可能吗
  • 如何在 Python Shell 中换行?

    在 IDLE 中 假设我想用两行编写以下内容 x 3 print x 5 但是当我输入 x 3 并按 Enter 时 它会执行分配 如何让它在两行都输入后执行 已阅读 Python 教程的第一页 但没有回答这个 有趣 的问题 Use the
  • Django 按向后外键排序

    我目前有以下型号 class ChatRoom models Model creator models ForeignKey User points to the initial user class Message models Mode