Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ORM
ORM
Request
http://twit2py.com/timeline/rochacbruno
{timeline:rows}
for tweet in timeline: DO SOMETHING
from gluon.sql import DAL,Field, Table Conexo, modelagem DAL (Model) db = DAL(postgres://username:password@host/db) utline = db.define_table(usertimeline, Field(user), Field(tweet), Field(timestamp,datetime), migrate=True)
Globals()
def timeline(): user = request.args[0] query = utline.user==user order = utline.timestamp rows = db(query).select(orderby=~order) return dict(timeline=rows)
DATABASE SQL/GQL
SELECT user, tweet, timestamp FROM usertimeline WHERE user = rochacbruno ORDER BY timestamp desc
SQLite PostgreSQL MySQL Oracle Microsoft SQL Server FireBird DB2 Informix Ingres. Google BigTable Google App Engine (GAE) JDBC + executesql
Raw_sql >>> print db.executesql('SELECT * FROM person;') [(1, uJos'), (2, uMickael')]
Last_sql >>> rows = db().select(db.person.ALL) >>> print db._lastsql SELECT person.id, person.name FROM person;
Distributed Transaction db_a = DAL('postgres://...') db_b = DAL('postgres://...') DAL.distributed_transaction_commit(db_a, db_b) DAL.distributed_transaction_rollback(db_a, db_b)
>>> rows = db(db.person.id > 0).select() >>> print rows.xml() <table> <thead> <tr> <th>person.id</th> <th>person.name</th> <th>dog.id</th> <th>dog.name</th> <th>dog.owner</th> </tr> </thead> <tbody> <tr class="even"> <td>1</td> <td>Alex</td> <td>1</td> <td>Skipper</td> <td>1</td> </tr> ... </tbody> </table>
_insert >>> print db.person._insert(name='Alex') INSERT INTO person(name) VALUES ('Alex'); Here is _count _count >>> print db(db.person.name=='Alex')._count() SELECT count(*) FROM person WHERE person.name='Alex'; Here is _select
_select >>> print db(db.person.name=='Alex')._select() SELECT person.id, person.name FROM person WHERE person.name='Alex'; Here is _delete _delete >>> print db(db.person.name=='Alex')._delete() DELETE FROM person WHERE person.name='Alex'; And finally, here is _update
_update >>> print db(db.person.name=='Alex')._update() UPDATE person SET WHERE person.name='Alex';