美文网首页
Yunorm一款轻量级orm

Yunorm一款轻量级orm

作者: yunsonbai | 来源:发表于2019-03-27 18:14 被阅读0次

    实际工作中,从开发效率上看使用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)
    

    相关文章

      网友评论

          本文标题:Yunorm一款轻量级orm

          本文链接:https://www.haomeiwen.com/subject/gfjtbqtx.html