1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
+++++++++
SQLObject
+++++++++
SQLObject is a popular *Object Relational Manager* for providing an
object interface to your database, with tables as classes, rows as
instances, and columns as attributes.
SQLObject includes a Python-object-based query language that makes SQL
more abstract, and provides substantial database independence for
applications.
Documentation
=============
.. toctree::
:maxdepth: 1
download
community
links
News
Python3
SQLObject
FAQ
SQLBuilder
SelectResults
sqlobject-admin
Inheritance
Versioning
Views
DeveloperGuide
Authors
TODO
Example
=======
This is just a snippet that creates 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()
SQLObject supports most database schemas that you already have, and
can also issue the ``CREATE`` statement for you (seen in
``Person.createTable()``).
Here's how you'd 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
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. footer:: Get SQLObject at Sourceforge.net_. Fast, secure and Free Open Source software downloads
.. _Sourceforge.net: http://sourceforge.net/projects/sqlobject
|