Perfect, thanks for the tip Richard.

    -Jim

On 11/14/2011 11:28 AM, Richard Vézina wrote:
Why you can't specify in IS_IN_DB and pass a subset of you table and use where clause to subset your DB like this :

db(db.plant.plantNumber!=2)

??

Look in the book how to pass a set instead of db to IS_IN_DB class...

Richard

On Mon, Nov 14, 2011 at 12:16 PM, Jim Steil <j...@qlf.com <mailto:j...@qlf.com>> wrote:

    Hi

    Using SQLFORM.factory and trying to build a dropdown box based off
    a table but limiting the options in the dropdown.  Here is what I
    have:

        plantsNotForUser = db(db.plant.plantNumber==2)

        form = SQLFORM.factory(
            Field('plantId', db.plant, label='Plant',
                  requires=IS_IN_DB(db, 'plant.id <http://plant.id>',
    '%(plantNumber)s - %(name)s',
                                    zero='...choose one...',
_and=IS_NOT_IN_DB(plantsNotForUser, 'plant.id <http://plant.id>')),
                  default=plantId))

    However, when I display the form, plant number 2 is included in
    the list.  I don't want to show that one.

    Am I misunderstanding what the _and arg does?

        -Jim


Reply via email to