Skip to main content

Better ORM wrapper of leancloud storage python sdk.

Project description

leancloud-better-storage-python

PyPI version travis-ci codecov

better leancloud storage wrapper. Simple and lightweight.

Installation

install by easy_install or pip.

$ pip install leancloud-better-storage

Quick start

Model declaration and query just like SQLAlchemy, see example below.

Model declaration

from leancloud_better_storage.storage.models import Model
from leancloud_better_storage.storage.fields import Field

class Product(Model):
    name = Field('product_name', nullable=False)
    price = Field(nullable=False)
    field3 = Field(nullable=False, default=1)
    field4 = Field()

CRUD operations

Create

product = Product.create(name='FirstProduct',price=100)
product.commit()

# v0.1.3 now default null value
assert product.field4 is None

Read & Query

# find by simple equation
products = Product.query().filter_by(name='product').find()
# support >,<,>=,<=,==.but not support compare to another field.
products = Product.query().filter(Product.price < 10).find()
# support and_(), or_().
products = Product.query().filter(Product.created_at > datetime(2018,8,1)).and_() \
    .filter(Product.created_at < datetime(2018,9,1)).find()
# find support limit and skip argument.
products = Product.query().order_by(Product.price.desc).find(limit=10)
# also support pagination, start from page 0 and 10 elements per page.
pages = Product.query().paginate(0, 10)
for page in pages:
    print(page.items) # access elements

Update

product = Product.query().filter_by(name='FirstProduct').first()
product.name = 'LastProduct'
product.commit()

Delete

product = Product.query().filter_by(name='FirstProduct').first()
product.drop()

Update log

  • 0.1.7 修复初始值 null 覆盖了存储服务生成字段值的问题。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for leancloud-better-storage, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size leancloud_better_storage-0.1.7-py3-none-any.whl (11.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size leancloud-better-storage-0.1.7.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page