These examples just scratch the surface of what QLime is capable of. See also the detailed feature list.
For a database table users:
| username | firstname | lastname |
|---|---|---|
Here is sample code that prints filtered records:
from qlime import pgsql, DataObject
class User(DataObject):
pass
connection = pgsql.DSConn(dbname='dbname', username='user', password='pass')
obclass = connection['public.users'] # public.users is the tablename
User.connect_to(obclass)
for u in User.find(lastname='Smith'):
print u.username, u.firstnameFor a database table users:
| username | firstname | lastname |
|---|---|---|
and a table groups:
| username | groupname |
|---|---|
Here is sample code that joins the two tables and loads data
from qlime import pgsql, DataObject
class User(DataObject):
pass
class Group(DataObject):
pass
connection = pgsql.DSConn(dbname='dbname', username='user', password='pass')
# Create a new composite obclass called 'users' based on existing obclass
# 'public.users'. Composite obclasses can contain non-atomic attributes based
# on joins.
users = connection.new_composite_obclass('users', 'public.users')
groups = connection['public.groups']
# Create a new attribute 'groups' based on existing obclass
# called 'public.groups', by joining this object's 'username' attribute
# with that object's 'username' attribute.
users.join_obclass(subobname='groups', join_attr='username',
jointo_oc='public.groups', jointo_attr='username')
User.connect_to(users)
Group.connect_to(groups)
for u in User.find(lastname='Smith'):
print u.username, u.firstname
for g in u.groups:
print g.groupnameHere is a query that filters on a joined table column:
User.search(User.group.groupname.isEq('admin'))