semvec/pypi-packages huggingface dataset:
fastapi-tortoise-pagination 0.1.3
A paginator based on fastapi and tortoise-orm

这个是一个基于FastApi+tortoise-orm的查询集分页器

主要通过对QuerySet进行分页排序等进行操作，再对即将响应的数据进行序列化，相比较一些先序列化再分页的分页器，这个会更轻简快速。

一、介绍
该分页器主要分为三个块：Params、PagePydantic和pagination
1. Params
   前端传的参数，包括page(页数)、size(页面大小)和order_by(排序字段，选传)
2. PagePydantic
``` data: Sequence[T]   # 查询数据列表
    total: int          # 查询总数
    page: int
    size: int
    total_pages: int    # 总页数
    next: str           # 下页url
    previous: str       # 上页url
```
   响应模型，即返回给前端的数据模型
2. pagination
分页操作，将查询集QuerySet进行分页或者排序等操作，然后在根据用户自定义的Pydantic进行序列化，最后返回分页后的数据

二、快速开始：
1. install(安装)
   ```
   pip install fastapi-tortoise-pagination
    ```
2. 使用
```
    class ForumArticle(models.Model):
        """论坛文章"""
        id = fields.IntField(pk=True)
        user = fields.ForeignKeyField("cp_model.User", on_delete=fields.CASCADE)
        title = fields.CharField(max_length=32, default='', null=True)  # 文章标题
        content = fields.TextField(default='', null=True, blank=True)  # 文章正文

    class ForumArticleSchema(
    pydantic_model_creator(ForumArticle,
                           name="ForumArticleSchema",
                           exclude=())
    ):
    pass


    class TestViewSet(BaseViewSet):
        model = ForumArticle
        schema = ForumArticleSchema
        pk_type = str
        views = {
        }

    @Action.get("/list",  response_model=PagePydantic[ForumArticleSchema],description="分页获取帖子列表")  #
    async def list(self, params: Params = Depends()):
        query_set = ForumArticle.filter(is_delete=0)
        return await pagination(pydantic_model=ForumArticleSchema, query_set=query_set, params=params)

```
java-code-anal 2022.8.16.0
ApacheCN Java 源码分析
Requires Python: >=3.6

# ApacheCN Java 源码分析

> 协议：[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 
> 我们哪儿有时间搞这个啊？——片刻
> 
> 这好办。你的源码分析看起来不错，但它下一秒就是我的了。——飞龙

* [在线阅读](https://jca.apachecn.org)
* [在线阅读（Gitee）](https://apachecn.gitee.io/doc-template/)
* [ApacheCN 学习资源](http://docs.apachecn.org/)

## 贡献指南

本项目需要校对，欢迎大家提交 Pull Request。

> 请您勇敢地去翻译和改进翻译。虽然我们追求卓越，但我们并不要求您做到十全十美，因此请不要担心因为翻译上犯错——在大部分情况下，我们的服务器已经记录所有的翻译，因此您不必担心会因为您的失误遭到无法挽回的破坏。（改编自维基百科）

## 联系方式

### 负责人

* [飞龙](https://github.com/wizardforcel): 562826179

### 其他

*   在我们的 [apachecn/java-code-anal](https://github.com/apachecn/java-code-anal) github 上提 issue.
*   发邮件到 Email: `apachecn@163.com`.
*   在我们的 [组织学习交流群](https://www.apachecn.org/#/docs/join) 中联系群主/管理员即可.

## 下载

### Docker

```
docker pull apachecn0/java-code-anal
docker run -tid -p <port>:80 apachecn0/java-code-anal
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install java-code-anal
java-code-anal <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g java-code-anal
java-code-anal <port>
# 访问 http://localhost:{port} 查看文档
```

## 赞助我们

![](http://data.apachecn.org/img/about/donate.jpg)