Just out of interest - perhaps everyone knows this...

I have a table "lookup" that contains simple values grouped by type
(counties,countries,person titles,etc) rather than have loads of
different tables.  In this case, you can say

db.widget.country.requires=IS_IN_DB(db(db.lookup.type=='Country'),'lookup.id','lookup.value')

On Oct 29, 8:25 am, "Saikat Chatterjee" <[EMAIL PROTECTED]>
wrote:
> thanks .... though i figured out the issue. i was putting the "requires"
> clauses for reference fields inside a []. when i removed it, the code
> started working....... but thanks anyways bcos it showed me a new technique
> nonetheless ..............
>
> regards,
> saikat
>
> On Wed, Oct 29, 2008 at 1:42 PM, billf <[EMAIL PROTECTED]> wrote:
>
> > The generation of a dropdown list is triggered by IS_IN_SET, e.g.
>
> > db.animal.type.requires=IS_IN_SET(['dog','cat','parrot'])
>
> > You can generate the option list from the db by something like:
>
> > db.animal.type.requires=IS_IN_SET(db().select(db.animals.ALL))
>
> > On Oct 29, 7:08 am, saikatsakura <[EMAIL PROTECTED]> wrote:
> > > Hi,
>
> > > My DB tables are as follows -
>
> > > #########################################################################
> > > # This scaffolding model makes your app work on Google App Engine
> > > too   #
> > > #########################################################################
>
> > > try:
> > >     from gluon.contrib.gql import *         # if running on Google App
> > > Engine
> > > except:
> > >     db=SQLDB('sqlite://db.db')         # if not, use SQLite or other
> > > DB
> > > else:
> > >     db=GQLDB()                              # connect to Google
> > > BigTable
> > >     session.connect(request,response,db=db) # and store sessions there
> > > #session.forget()                           # uncomment for no session
> > > at all
>
> > > #########################################################################
> > > # Define your tables below, for
> > > example                                 #
> > > #
> > > #
> > > # >>>
> > > db.define_table('mytable',SQLField('myfield','string'))           #
> > > #
> > > #
> > > # Fields can be
> > > 'string','text','password','integer','double','booelan' #
> > > #       'date','time','datetime','blob','upload', 'reference
> > > TABLENAME' #
> > > # There is an implicit 'id integer autoincrement'
> > > field                 #
> > > # Consult manual for more options, validators,
> > > etc.                     #
> > > #
> > > #
> > > # More API examples for
> > > controllers:                                    #
> > > #
> > > #
> > > # >>>
> > > db.mytable.insert(myfield='value')                                #
> > > # >>>
> > > rows=db(db.mytbale.myfield=='value).select(db.mytable.ALL)        #
> > > # >>> for row in rows: print row.id,
> > > row.myfield                        #
> > > #########################################################################
>
> > > import datetime
> > > now = datetime.date.today()
>
> > > db.define_table('category',SQLField('name'))
>
> > > db.define_table('recipe',
> > >                 SQLField('title'),
> > >                 SQLField('description',length=256),
> > >                 SQLField('category',db.category),
> > >                 SQLField('date','date',default=now),
> > >                 SQLField('instructions','text'))
>
> > > db.category.name.requires =
> > > [IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'category.name')]
> > > db.recipe.title.requires = [IS_NOT_EMPTY()]
> > > db.recipe.description.requires = [IS_NOT_EMPTY()]
> > > db.recipe.category.requires =
> > > [IS_IN_DB(db,'category.id','category.name')]
> > > db.recipe.date.requires = IS_DATE()
>
> > > However, the dropdown for categories is not coming when trying to add
> > > a recipe. what is the mistake did i do?
>
> > > regards,
> > > saikat
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to