Django / Python:两次过滤查询集

非约会

get_messages返回messages两个用户之间共享的。

def get_messages(self, sender, recipient):
    messages = Message.\
        objects.\
        filter(sender_id=sender.id,
               recipient_id=recipient.id)
    return messages

这可以正常工作,但有时User Arecipient代替senderUser Bsender代替recipient

我怎样才能filter更雄辩地使用(或某些类似的函数)两种方式(不用在切换参数的情况下调用此函数两次)?

基思·约翰·哈奇森

您可以使用__in操作员搜索消息并删除任何自已帖子。

def get_messages(self, sender, recipient):
    ids = [sender.id, recipient.id]
    messages = Message.\
        objects.\
        filter(sender_id__in=ids,
               recipient_id__in=ids).\
        exclude(sender_id = recipient.id )
    return messages

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django-按相关名称过滤两次导致查询集中的对象重复

来自分类Dev

Django:如何计算查询集并返回切片而又不会两次击中数据库?

来自分类Dev

Django:连续查询集过滤在第一次查询后停止过滤

来自分类Dev

Django过滤查询集模型

来自分类Dev

两次通过ForeignKeys进行跳转的Django过滤器

来自分类Dev

基于缺少反向关系的Python过滤Django查询集

来自分类Dev

Django两次设置csrftoken

来自分类Dev

Django queryset-排序两次

来自分类Dev

Django:从缓存本地过滤查询集

来自分类Dev

在Django视图中过滤下拉查询集

来自分类Dev

组合Django查询集的过滤器

来自分类Dev

Django - 使用可选的 FormFields 过滤查询集

来自分类Dev

Django - 附加后过滤查询集

来自分类Dev

Django 查询集过滤和注释

来自分类Dev

Django - 多过滤查询集返回空查询集

来自分类Dev

如何通过同一字段的两次查找过滤查询集?

来自分类Dev

Django 合并两个查询集

来自分类Dev

Django中的模板标记是否执行两次?

来自分类Dev

为什么我的Django表单两次执行?

来自分类Dev

Django settings.py语句执行了两次

来自分类Dev

Django是否试图两次制作相同的表?

来自分类Dev

中间件在 django 中触发两次错误

来自分类Dev

使用有限的子查询过滤 Django 查询集

来自分类Dev

使用与用户匹配的两个条件之一来过滤查询集。Django Rest框架

来自分类Dev

在一个查询中过滤两个日期django / python

来自分类Dev

Django查询性能过滤与外键集查找

来自分类Dev

基于Django类的视图-过滤查询集并保存

来自分类Dev

基于模型的__str__的Django过滤器查询集

来自分类Dev

Django Rest查询集通过url参数过滤

Related 相关文章

热门标签

归档