JSON-ORM 规范.

2018-10-07 15:02:32 +08:00
 prasanta

JSON-ORM 规范.

语言无关的 ORM 规范

定义数据库结构

{
    "blog": {
        "type": "Schema",
        "title": {
            "type": "String",
            "max_length": [
                256,
                "Too long"
            ],
            "trim": true,
            "required": true
        },
        "author": "String",
        "body": "String",
        "comments": [
            {
                "type": "Schema",
                "author": "String",
                "body": "String",
                "date": "Timestamp"
            }
        ],
        "hidden": "Boolean",
        "meta": {
            "type": "Inline",
            "votes": "Number",
            "fav": "Number"
        }
    }
}

用法(Python 案例)

orm = ORM(db="mysql://127.0.0.1/blog", schema=["schema.json"])
orm["blog"].check(
    {
        "title": "title",
        "author": "tom",
        "body": "blog content"
    }
)
orm["blog"].create([
    {
        "title": "title",
        "author": "tom",
        "body": "blog content"
    },    
    {
        "title": "title2",
        "author": "tom",
        "body": "blog content"
    }
])

queryset = orm["blog"].find().order().limit().offset().all()
queryset.count()
queryset.group().count()
queryset.aggregate()
queryset.update({})
queryset.delete()

instance = orm["blog"].find().first()
instance.update({})
instance.delete()

数据类型

String
Number
Timestamp
Date
DateTime
Schema
Inline
Boolean
Json
Binary
1523 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX