Yunorm一款轻量级orm

实际工作中,从开发效率上看使用orm比直接敲sql语句快的多,基于日常的定时上报业务工作开发了一款轻量级orm系统。

  • Python版本要求:python3.5 and 3.6 (developed with 3.5)
  • 目前支持的数据库:mysql
  • 功能特点:
    • 可以同时连接不同数据库
    • 可以自动维护连接

github

yunorm

Requirements

  • mysqlclient==1.3.14

Install

  • git clone git@github.com:yunsonbai/yunorm.git
  • python setup.py install

Quick Start

example

注意

表必须在数据库中才能使用yunorm,目前yunorm不支持创建表格

Documentation

  • 支持的字段

    • Prikey
    • CharField
    • IntegerField
    • DateTimeField
    • DecimalField
  • 过滤操作

    • lt: '<'
    • gt: '>'
    • une: '!='
    • lte: '<='
    • gte: '>='
    • in: 'in'
  • 支持的函数

    • filter
    • create
    • update
    • delete
    • limit
    • order_by
    • group_by
    • desc_order_by
    • first
    • all
    • count
  • 注意
    需在末尾调用data()函数才能获得数据

  res = TestModel.objects.filter(**select_term).all().data()
  res = TestModel.objects.filter(**select_term).limit(0, 10).data()
  res = TestModel.objects.filter(
    **select_term).order_by(id).limit(0, 7).data()
  • Get Data
  select_term = {
    "zan_num__gt": 0,
    "id__gt": 3700000
  }
  res = TestModel.objects.filter(**select_term).all().data()
  feed = TestModel.objects.filter(id=3700000).first().data()
  • Create Data
  def test_create_orm(i):
    create_data = {
      'label': 1,
      'title': 'test_{0}'.format(i)
    }
    TestOrm.create(**create_data)
  • Update Data
  def test_update_orm():
    update_data = {
      'title': 'hello yunsonbai',
      'label': 10
    }
    res = TestOrm.objects.filter(id__in=[1, 2]).data()
    for r in res:
      r.update(**update_data)
    # or
    res = TestOrm.objects.filter(id=3).first().data()
    res.update(**update_data)
  • Delete Data
  def test_delete_orm():
    res = TestOrm.objects.filter(id__in=[7, ]).data()
    for r in res:
      result = r.delete()
      print(result)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,063评论 1 3
  • 让你迅速成长甚至成功的,从不是努力 平均法则的秘密 不论是考上重点大学,或是高分通过GRE,是升职加薪谈下大客户,...
    谢泽阅读 188评论 0 0
  • 现在很多人分手之后会说:“我失恋了。”“失恋”往往也会和“分手”这这个词联系在一起,仿佛它俩才是一对。 小君和文青...
    秋水时阅读 269评论 0 0
  • 曾经写的文章,日更 在我印象中,杨绛先生一直很陌生,之前很少接触她的书籍或他人传记,只是略有耳闻他和钱钟书的爱情故...
    未央_長樂阅读 222评论 0 0