django - 如何从 django 中的数据库查询中获取不同的记录?
问题描述
我在消息表中有以下记录:
我想获取发送者为 15的所有接收者以及接收者为 15 的所有发送者。
我使用了这个查询:
return Messages.objects.filter(Q(sender=15) | Q(receiver=15)).distinct()
但它也返回重复的结果,如下所示:
我怎样才能只获得不同/唯一的记录。例如 {sender: 15, receiver: 11} 不应该重复
解决方案
您可以使用:
Messages.objects.filter(sender=15).values_list('receiver', flat=True).union(
Messages.objects.filter(receiver=15).values_list('sender', flat=True)
)
推荐阅读
- angular - 如何修复Angular 11'选项“进度”已弃用'?
- flask - 字段验证以比较 Flask-WTForms 中的两个日期字段
- db2 - 将 IBM Db2 连接到 Watson Assistant
- html - 我怎样才能摆脱滚动条的白角
- sql-server - 即使 API 正在工作,表格也没有显示行结果
- swift - SwiftUI 侧边栏列表部分应默认折叠
- python - 没有得到可重现的结果 TensorFlow-Keras-Google Collab
- c++ - CMAKE GLFW 链接问题
- specifications - 为什么 TLC 在有效状态上报告错误?
- react-native - React Native:FlatList 闪烁的项目列表很大,而不是较小的列表