跳转到主要内容

将多个(不同)QuerySet链接在一起,将它们视为单个QuerySet。

项目描述

https://img.shields.io/pypi/v/django-querysetsequence.svg https://github.com/clokep/django-querysetsequence/actions/workflows/main.yml/badge.svg Documentation Status

django-querysetsequence为将多个不同的QuerySet对象视为单个QuerySet提供了辅助工具。这对于传递到只接受单个QuerySet的API非常有用。

使用QuerySetSequence包装器来组合多个QuerySet实例。

概述

QuerySetSequence 的目标是提供与 Django 的 QuerySets 相同的行为,但应用于多个 QuerySet 实例。

支持的功能

  • 接受字段列表的方法(例如 filter()exclude()get()order_by())必须使用所有子 QuerySets 都共有的字段。

  • 跨相关模型的关联关系有效(例如 'foo__bar''foo''foo_id')。语法)。

  • QuerySets 将尽可能晚地进行评估(例如在迭代、切片、序列化、repr()/len()/list()/bool() 调用期间)。

  • 未测试/未实现公共 QuerySet API 方法将引发 NotImplementedError

入门指南

使用 pip 安装该软件包。

pip install --upgrade django-querysetsequence

基本用法

# Import QuerySetSequence
from queryset_sequence import QuerySetSequence

# Create QuerySets you want to chain.
from .models import SomeModel, OtherModel

# Chain them together.
query = QuerySetSequence(SomeModel.objects.all(), OtherModel.objects.all())

# Use query as if it were a QuerySet! E.g. in a ListView.

项目信息

django-querysetsequence 在 ISC 许可下发布,其文档位于 Read the Docs,代码位于 GitHub,最新版本位于 PyPI。它支持 Python 3.7+、Django 3.2/4.0/4.1/4.2,并可选与 Django REST Framework 3.11+ 兼容。

您可以贡献的一些方式

  • 检查开放的问题或创建一个新的问题来开始围绕功能想法或错误进行讨论。

  • 在 GitHub 上分叉存储库以开始进行更改。

  • 编写一个测试用例,以证明错误已被修复或功能按预期工作。

  • 发送一个拉取请求,并持续要求维护者将其合并并发布。

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪一个,请了解更多关于 安装软件包 的信息。

源分布

django-querysetsequence-0.17.tar.gz (30.4 kB 查看哈希值)

上传时间

构建分布

django_querysetsequence-0.17-py3-none-any.whl (16.3 kB 查看哈希值)

上传时间 Python 3

支持者