Skip to content

What is SQLObject

SQLObject is a free and open-source (LGPL) Python object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of DB API drivers: MySQLdb, mysqlclient, mysql-connector, PyMySQL, mariadb), PostgreSQL (psycopg2, PyGreSQL, partially pg8000 and py-postgresql), SQLite (builtin sqlite, pysqlite); connections to other backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are less debugged).

Python 2.7 or 3.4+ is required.

Where is SQLObject

Site: http://sqlobject.org

Download: https://pypi.org/project/SQLObject/

News and changes: http://sqlobject.org/News.html

StackOverflow: https://stackoverflow.com/questions/tagged/sqlobject

Mailing lists: https://sourceforge.net/p/sqlobject/mailman/

Development: http://sqlobject.org/devel/

Developer Guide: http://sqlobject.org/DeveloperGuide.html

Example

Install:

$ pip install sqlobject

Create a simple class that wraps a table:

>>> from sqlobject import *
>>>
>>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
>>>
>>> class Person(SQLObject):
...     fname = StringCol()
...     mi = StringCol(length=1, default=None)
...     lname = StringCol()
...
>>> Person.createTable()

Use the object:

>>> p = Person(fname="John", lname="Doe")
>>> p
<Person 1 fname='John' mi=None lname='Doe'>
>>> p.fname
'John'
>>> p.mi = 'Q'
>>> p2 = Person.get(1)
>>> p2
<Person 1 fname='John' mi='Q' lname='Doe'>
>>> p is p2
True

Queries:

>>> p3 = Person.selectBy(lname="Doe")[0]
>>> p3
<Person 1 fname='John' mi='Q' lname='Doe'>
>>> pc = Person.select(Person.q.lname=="Doe").count()
>>> pc
1

Pinned Loading

  1. sqlobject sqlobject Public

    SQLObject, an object-relational mapper for Python

    Python 149 25

Repositories

Showing 8 of 8 repositories
  • sqlobject Public

    SQLObject, an object-relational mapper for Python

    sqlobject/sqlobject’s past year of commit activity
    Python 149 LGPL-2.1 25 2 0 Updated Nov 5, 2024
  • pg8000 Public Forked from mfenniak/pg8000

    A Pure-Python PostgreSQL Driver

    sqlobject/pg8000’s past year of commit activity
    Python 0 BSD-3-Clause 57 0 0 Updated Sep 20, 2024
  • .github Public

    The public profile repository.

    sqlobject/.github’s past year of commit activity
    0 0 0 0 Updated Oct 25, 2023
  • py-postgresql Public Forked from python-postgres/fe

    py-postgresql: Access a PostgreSQL database with Python 3

    sqlobject/py-postgresql’s past year of commit activity
    Python 1 BSD-3-Clause 35 0 0 Updated May 5, 2023
  • oursql Public Forked from python-oursql/oursql

    oursql is a set of MySQL bindings for python with a focus on wrapping the MYSQL_STMT API to provide real parameterization and real server-side cursors.

    sqlobject/oursql’s past year of commit activity
    C 2 BSD-3-Clause 19 0 0 Updated Nov 21, 2020
  • test-pymssql-at-appveyor Public

    Test pymssql at AppVeyor

    sqlobject/test-pymssql-at-appveyor’s past year of commit activity
    Python 0 0 0 0 Updated Feb 18, 2018
  • sqlobject/sqlobject.github.io’s past year of commit activity
    HTML 1 0 0 0 Updated Mar 19, 2017
  • fullhistory Public archive

    SQLObject history preserved from SVN. Read-only.

    sqlobject/fullhistory’s past year of commit activity
    Python 1 0 0 0 Updated Jul 29, 2014

Top languages

Loading…

Most used topics

Loading…