SQLObject¶
SQLObject 是一个流行的对象关系管理器,为你的数据库提供了一个对象接口,其中表作为类,行作为实例,列作为属性。
SQLObject 包含一个基于 Python 对象的查询语言,它使 SQL 更加抽象,并为应用程序提供了大量的数据库独立性。
文档¶
示例¶
这只是一个创建一个简单类来包装表的代码段
>>> from sqlobject import *
>>>
>>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
>>>
>>> class Person(SQLObject):
... fname = StringCol()
... mi = StringCol(length=1, default=None)
... lname = StringCol()
...
>>> Person.createTable()
SQLObject 支持你已有的大多数数据库架构,还可以为你发布 CREATE
语句(在 Person.createTable()
中看到)。
以下是使用该对象的方法
>>> 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
查询
>>> 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