Thanks 黄祥 but I think Anthony is right. The == syntax you gave me just grabbed the first record in the Taxonomy table regardless of which one was selected during data entry.
At least now I have the == syntax for some other tasks I needed. Much appreciated Anthony, Alex On Friday, March 8, 2013 8:46:35 AM UTC-8, Anthony wrote: > > Are you saying you want the form dropdown dynamically populated with a > subset of records based on the selection in a different field? If so, > you'll have to do that with Javascript and an Ajax call. See > http://stackoverflow.com/questions/8146260/best-practice-for-populating-dropdown-based-on-other-dropdown-selection-in-web2p/8152910#8152910 > for > some ideas. > > Anthony > > On Friday, March 8, 2013 2:34:56 AM UTC-5, Alex Glaros wrote: >> >> I want to limit IS_IN_DB to a table whose fields match what is being >> entered in an adjoining field in the same table. >> >> Tables: >> >> *Taxonomy* is the taxonomy type and contains the types of taxonomies, >> e.g., "plants" taxonomy, "computer languages" taxonomy. >> >> *TaxonomyData* is the detail taxonomy of each taxonomy type, e.g., >> >> for "plants", it could have roses, acorn trees, rice, and, >> >> for "computer languages", it could have python, java, and perl. >> >> Taxonomy is the parent of TaxonomyData. >> >> *Suggestion* is a table of suggestions. >> >> *SuggestionCategorizationIntersection* table categorizes "Suggestion" >> data using Taxonomy and TaxonomyData. >> >> db.define_table('*Suggestion*'...) >> >> db.define_table('*Taxonomy*', >> Field('taxonomyShortName','string'), >> Field('taxonomyLongName','string'), >> >> db.define_table('*TaxonomyData'*, >> Field('taxonomyID','reference Taxonomy'), >> Field('taxonomyName','string'), >> Field('taxonomyDataID','string'), >> Field('taxonomyDataName','string'), >> >> db.define_table('*SuggestionCategorizationIntersection*', >> Field('suggestionID','reference Suggestion'), >> Field('taxonomyID','reference Taxonomy'), >> Field('taxonomyDataID','reference TaxonomyData')) >> >> Now if I use the code below, I get ALL of data in TaxonomyData, but I >> only want that data that matches what user typed in the adjoining >> TaxonomyID field in SuggestionCategorizationIntersection. >> >> db.SuggestionCategorizationIntersection.taxonomyDataID.requires = >> IS_IN_DB(db, db.TaxonomyData.id, '%(taxonomyDataName)s',zero=T('choose >> one')) ##<--- I get too much data >> >> I want to choose from taxonomyDataID data where the taxonomyID for it in >> TaxonomyData only matches the TaxonomyID the user is entering in >> SuggestionCategorizationIntersection.taxonomyDataID. These two fields are >> next to each other in SuggestionCategorizationIntersection. >> >> Ideally, I'd like to be able to do something like this: >> >> db.SuggestionCategorizationIntersection.taxonomyDataID.requires = >> IS_IN_DB(db, db.TaxonomyData.id WHERE TaxonomyData.taxonomyID = >> SuggestionCategorization.TaxonomyID >> >> The record hasn't been saved yet so how would web2py know what is in >> the SuggestionCategorization.TaxonomyID record user is typing in? See field >> colored red above. >> >> Can someone please write out the syntax for this "requires" clause? >> >> I'm testing in the appadmin. >> >> Thanks, >> >> Alex Glaros >> >> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

