fastapi-tortoise-crud


Namefastapi-tortoise-crud JSON
Version 0.1.20 PyPI version JSON
download
home_page
Summaryfastpi简单crud
upload_time2024-01-25 03:31:09
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT
keywords fastapi-admin tortoise-orm crud
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # fastapi-admin

### 项目默认会安装

- fastapi_pagination
- fastapi
- tortoise-orm

### 目前只支持pydantic-v2

## 简单示例

> main.py

```python
from fastapi import FastAPI
from tortoise.contrib.fastapi import register_tortoise
from uvicorn import run
from models import User
from fastapi_tortoise_crud.crud import ModelCrud

user = ModelCrud(User,
                 schema_filters=User.schema_filters(include=('username',))
                 ).register_crud()
app = FastAPI()

app.include_router(user, prefix='/user', tags=['用户管理'])


@app.get("/")
async def root():
    return {"message": "Hello World"}


register_tortoise(
    app,
    db_url="sqlite://:memory:",
    modules={"models": ["models"]},
    generate_schemas=True,
    add_exception_handlers=True,
)

if __name__ == '__main__':
    run("main:app", port=2103, reload=True)
```

> models.py

```python
from fastapi_tortoise_crud.model import BaseModel
from tortoise import fields


class User(BaseModel):
    username = fields.CharField(64)
    password = fields.CharField(32)
    nickname = fields.CharField(32, null=True, default='游客')

```

### 路由
![img.png](img.png)


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "fastapi-tortoise-crud",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "Fastapi-admin,Tortoise-orm,Crud",
    "author": "",
    "author_email": "moxiaoying <768091671@qq.com>",
    "download_url": "https://files.pythonhosted.org/packages/ce/23/bf0f3dd4f2c6d8f45fcda6f22088b142722bae9c3a7a07f661948a90b3a6/fastapi-tortoise-crud-0.1.20.tar.gz",
    "platform": null,
    "description": "# fastapi-admin\n\n### \u9879\u76ee\u9ed8\u8ba4\u4f1a\u5b89\u88c5\n\n- fastapi_pagination\n- fastapi\n- tortoise-orm\n\n### \u76ee\u524d\u53ea\u652f\u6301pydantic-v2\n\n## \u7b80\u5355\u793a\u4f8b\n\n> main.py\n\n```python\nfrom fastapi import FastAPI\nfrom tortoise.contrib.fastapi import register_tortoise\nfrom uvicorn import run\nfrom models import User\nfrom fastapi_tortoise_crud.crud import ModelCrud\n\nuser = ModelCrud(User,\n                 schema_filters=User.schema_filters(include=('username',))\n                 ).register_crud()\napp = FastAPI()\n\napp.include_router(user, prefix='/user', tags=['\u7528\u6237\u7ba1\u7406'])\n\n\n@app.get(\"/\")\nasync def root():\n    return {\"message\": \"Hello World\"}\n\n\nregister_tortoise(\n    app,\n    db_url=\"sqlite://:memory:\",\n    modules={\"models\": [\"models\"]},\n    generate_schemas=True,\n    add_exception_handlers=True,\n)\n\nif __name__ == '__main__':\n    run(\"main:app\", port=2103, reload=True)\n```\n\n> models.py\n\n```python\nfrom fastapi_tortoise_crud.model import BaseModel\nfrom tortoise import fields\n\n\nclass User(BaseModel):\n    username = fields.CharField(64)\n    password = fields.CharField(32)\n    nickname = fields.CharField(32, null=True, default='\u6e38\u5ba2')\n\n```\n\n### \u8def\u7531\n![img.png](img.png)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "fastpi\u7b80\u5355crud",
    "version": "0.1.20",
    "project_urls": null,
    "split_keywords": [
        "fastapi-admin",
        "tortoise-orm",
        "crud"
    ],
    "urls": [
        {
            "comment_text": "filter\u8fc7\u6ee4\u5224\u65ad\u662f\u5426\u4e3abool\u7c7b\u578b",
            "digests": {
                "blake2b_256": "83912aea7ded2db14233b333c841eda7a39e7d11f8ce925a1bc9b7b2db0dd8b7",
                "md5": "04e655bf31d85ccf8ae071e438cc7a2a",
                "sha256": "e2a4f71a3b2fea07105902115315e6a37b709504c5aa7cc03438130e5fb54553"
            },
            "downloads": -1,
            "filename": "fastapi_tortoise_crud-0.1.20-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "04e655bf31d85ccf8ae071e438cc7a2a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 20994,
            "upload_time": "2024-01-25T03:31:07",
            "upload_time_iso_8601": "2024-01-25T03:31:07.959163Z",
            "url": "https://files.pythonhosted.org/packages/83/91/2aea7ded2db14233b333c841eda7a39e7d11f8ce925a1bc9b7b2db0dd8b7/fastapi_tortoise_crud-0.1.20-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "filter\u8fc7\u6ee4\u5224\u65ad\u662f\u5426\u4e3abool\u7c7b\u578b",
            "digests": {
                "blake2b_256": "ce23bf0f3dd4f2c6d8f45fcda6f22088b142722bae9c3a7a07f661948a90b3a6",
                "md5": "22081936409611b678944fa7f8cad7b5",
                "sha256": "92783c63a74502393c0031f1f48d8d242139da0b8365078b9b54b6babd482a17"
            },
            "downloads": -1,
            "filename": "fastapi-tortoise-crud-0.1.20.tar.gz",
            "has_sig": false,
            "md5_digest": "22081936409611b678944fa7f8cad7b5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 17000,
            "upload_time": "2024-01-25T03:31:09",
            "upload_time_iso_8601": "2024-01-25T03:31:09.282538Z",
            "url": "https://files.pythonhosted.org/packages/ce/23/bf0f3dd4f2c6d8f45fcda6f22088b142722bae9c3a7a07f661948a90b3a6/fastapi-tortoise-crud-0.1.20.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-25 03:31:09",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "fastapi-tortoise-crud"
}
        
Elapsed time: 0.17332s