Skip to main content

A simple ORM for SQLite

Project description

python-sqlite-orm

A Python object relational mapper for SQLite.

Install

pip install simple-orm

Usage

Following a basic tutorial to demonstrate how to use the ORM.

  1. Define a Post model in a post.py file.

    # post.py
    from orm import Model
    
    class Post(Model):
    
        text = str  # other datatypes: int, float
    
        def __init__(self, text):
            self.text = text
    
  2. Import Database to create a data access object.

    >>> from orm import Database
    >>> db = Database('db.sqlite')  # indicating a database file.
    
  3. Import the Post model and link it to the database.

    >>> from post import Post
    >>> Post.db = db  # see another approach in tests.py
    
  4. Create a post and save it in the staging area (without commit) of database.

    >>> post = Post('Hello World').save()
    >>> print(post.id)  # auto generated id
    1
    
  5. Change the hello world post and update it in the database.

    >>> post = Post.manager().get(id=1)
    >>> post.text = 'Hello Mundo'
    >>> post.update()
    >>> post.text
    Hello Mundo
    
  6. Commit all staged operations (save and update) to the database.

    >>> db.commit()
    
  7. Delete the object and commit.

    >>> post.delete()
    >>> db.commit()
    
  8. Create a manager that can perform CRUD operations in the database.

    >>> objects = Post.manager(db)
    
  9. Save and get a post.

    >>> objects.save(Post('Hello', 'World'))
    >>> objects.get(2)  # get by id from the staging area
    {'text': 'World', 'id': 2, 'title': 'Hello'}
    
  10. Close the database without commit the changes

    >>> db.close()
    
  11. Get all posts from database.

    >>> list(objects.all())  # return a "empty" generator
    []
    

Linter

Check code lint:

pip install pylint
pylint orm.py

Contributing

See CONTRIBUTING.

License

CC0

The MIT License.

Project details


Release history Release notifications

Download files

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

Files for simple-orm, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size simple_orm-0.0.1-py3-none-any.whl (4.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size simple-orm-0.0.1.tar.gz (4.5 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