On 1/14/06, EleSSaR^ <el*********@despammed.com> wrote:
Kenneth McDonald si è profuso/a a scrivere su comp.lang.python tutte queste
elucubrazioni:
there any good libraries out there that let one write (basic) queries
in a Pythonic syntax, rather than directly in SQL?
You need an ORM. Beyond SQLAlchemy (I don't have experience with it) i
would suggest you try out SQLObject and PyDO.
Just a clue: although they prevent you from writing SQL, you'll have to
learn SQL basics anyway, or you won't understand the docs.
If you simply want to forget SQL, you can try out Axiom:
Or - as a word play in this case - try my module ForgetSQL [1]
(Also available in a new and backwards-incompatible beta version [2]
which should be easier to get started with, has more extensive unit
tests, but has only been tested with MySQL and SQLite)
[1]
http://soiland.no/software/forgetsql/
[2]
http://soiland.no/i/src/forgetsql2/
Example code from [2]
import MySQLdb, forgetsql2
# Connect to MySQLdb using keyword parameters
db = forgetsql2.generate(MySQLdb, {db='fish'})
# Iterate through generated class from the table "postal"
for postal in db.Postal:
# Print normal fields
print postal.postal_no, postal.postal_name, postal.municipal_id
# Follow the foreign key municipal_id to retrieve the entry
# from the Municipal class
municipal = postal.get_municipal()
print municipal.municipal_name
# Retrieve by primary key
rogaland = db.County(county_id=11)
# Iterate over municipals that have foreign keys to rogaland
for municipal in rogaland.get_municipals():
print municipal.municipal_name
# Load by primary key, change, and save
postal = db.Postal(postal_id=4042)
postal.postal_name = "Fish land"
postal.save()
--
Stian Søiland In theory there is no difference between theory
Birmingham, UK and practice. In practice there is. [Berra]
http://soiland.no/
=/\=