I really like the psql module http://pypi.python.org/pypi/pSQL/0.9.2
you can do things like
result = db.Address.City["Oklahoma%"]

at the beginning it was hard for me to learn the web2py dal, now it is
ok to use it but sometimes I wish i could do things like in psql

On 9 Feb., 19:51, Thadeus Burgess <thade...@thadeusb.com> wrote:
> I remember a post about an ORM layer class on top of DAL, that allowed
> for dynamic selects django style, I can't find the post though, can
> anyone remember what it was called?
>
> -Thadeus
>
>
>
> On Tue, Feb 9, 2010 at 9:11 AM, tiago almeida <tiago.b.alme...@gmail.com> 
> wrote:
> > Hello all,
>
> > I've been thinking about implementing a module that takes a DAL table
> > definition and generates a class object from that definition. The purpose of
> > this is to use those automatically generated classes in the controllers
> > instead of accessing the DAL directly. Eg: Creating an instance of that
> > class could make an insertion in the db transparently; setting attributes on
> > that instance triggers db updates, etc..
> > One important feature is that every table Row is mapped to an instance of
> > some class and this layer is completely opaque, i.e. it can't expose any
> > Rows/Row/Field objects to the client.
>
> > A more concrete example of whats being pursued:
> > -----------------
> > db.define_table( "Person", Field('name') )
> > db.define_table( "Dog", Field("name"), Field("Owner",db.Person) )
>
> > createClass(db.Person)
> > createClass(db.Dog)
>
> > #and now you can do:
>
> > p = Person("John")            #selects person with name="John", possibly
> > throwing exception or creating such a record (have to weigh the pros and
> > cons)
> > johns_dogs = p.dog_list    #johns_dogs is a list of Dog instances
> > johns_dogs[0].name          #returns name of one of the john's dogs.
> > johns_dogs[0].name = "new name"   #updates this dogs name in db
> > -----------------
>
> > I've had some success a this, namely, made a function that takes a Rows
> > object and returns a list of Storage instances where each storage has the
> > same attributes as the corresponding Row fields and, whenever the value of a
> > Row's Field is a Sql.Set, it .selects() it and continues recursively until
> > everything is converted into a big tree of Storage instances.
>
> > This is where I ask for some help. Ideally I don't want to convert every Row
> > into a Storage, I'd like a Row of table Product (e.g.) to be converted into
> > an instance of class Product (which was automatically generated when table
> > Product was defined). Yet, I do not know of an easy way to get the Table
> > from which a specific Row came from. Is it possible without major hacks in
> > the DAL?
>
> > Also, since you're at it, what do you think about this? My motivation is
> > that it gets tiring to be defining helper functions to make the controller
> > code simpler and then be constantly updating those helper functions whenever
> > the model changes.
>
> > Thanks a lot in advance,
> > Tiago
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "web2py-users" group.
> > To post to this group, send email to web...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > web2py+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/web2py?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to