I'm working on a project in which I have several tables with many to
many relationship.
So I started to try it with example given in book like this.

Models
---------
db.define_table('person', Field('name'))
db.define_table('dog',Field('name'))
db.define_table('ownership',Field('person', db.person),Field('dog',
db.dog))

Controller
------------
def index():
    form1 = FORM(INPUT(_name="person"), INPUT(_name="dog"),
INPUT(_type="submit"))
    if form1.accepts(request.vars,session):
         id1 = db.person.insert(name=request.vars.person)
         id2 = db.dog.insert(name=request.vars.dog)
         db.ownership.insert(person=id1, dog = id2)
    form3 = SQLFORM(db.ownership)
    persons_and_dogs = db((db.person.id==db.ownership.person) &
(db.dog.id==db.ownership.dog))

    x= dict(message=T('Hello World'), form1=form1, form3=form3,
persons_and_dogs = persons_and_dogs,zform1 = zform1, zform3 = zform3,
zpersons_and_dogs = zpersons_and_dogs)
    return response.render(x)

view
------
{{=form1}}
{{=form3}}
{{for row in persons_and_dogs.select():}}
{{=XML(row.person.name)}}
{{=XML( row.dog.name)}}<br>
{{pass}}
--------------------------------------------------------------------------------------------------------------------------------------------------------------

It works ok. But I've to host my project on GAE.
Does this work on GAE (because of JOINS)?

I read in the book, about list<type>
Do anyone know how to port above code using those (list:reference)?

================ here is the snippet from book ============
>>> db.define_table('tag',Field('name'),format='%(name)s')
>>> db.define_table('product',
        Field('name'),
        Field('tags','list:reference tag'))
===================================================

Any help appreciated :-)

Reply via email to