Given your model you can do:

for x in db(db.formulaImportLine.formulaImportLineId==63901).select():
 print db.formulaImportLine.formulaImportId.represent(x.formulaImportLineId)

or more simply

for x in db(db.formulaImportLine.formulaImportLineId==63901).select():
 print x.productNumber

On Wednesday, 12 September 2012 14:10:50 UTC-5, Jim S wrote:
>
> Given the following tables:
>
> formulaImport = db.define_table('formulaImport', 
>  Field('formulaImportId', 'id', readable=False),
>  Field('fileName', length=256, required=True, label='File'),
>  Field('sweptOn', 'date', required=True, label='Swept', 
>  default=datetime.datetime.today()),
>  Field('importedOn', 'date', label='Imported'),
>  Field('brillPlant', length=5, required=True, label='Plant'),
>  Field('productNumber', length=30, required=True, 
>  label='Product'),
>  Field('productName', length=75, required=True, 
>  label='Name'),
>  format = '%(productNumber)s')
> formulaImport._plural = 'Formula Imports'
>
> formulaImport.fileName.requires = IS_NOT_EMPTY()
> formulaImport.brillPlant.requires = IS_NOT_EMPTY()
> formulaImport.sweptOn.requires = IS_DATE('%m/%d/%Y')
> formulaImport.productNumber.requires = IS_NOT_EMPTY()
> formulaImport.productName.requires = IS_NOT_EMPTY()
> formulaImport.importedOn.requires = IS_NULL_OR(IS_DATE('%m/%d/%Y'))
>
> formulaImportLine = db.define_table('formulaImportLine',
>  Field('formulaImportLineId', 'id', readable=False),
>  Field('formulaImportId', db.formulaImport, required=True,
>  label='Formula Import'),
>  Field('sequence', 'integer', required=True),
>  Field('productNumber', length=30, required=True, label='Product Number'),
>  Field('quantity', 'decimal(13,5)', required=True),
>  format=('%(productNumber)s'))
> formulaImportLine.formulaImportId.required = IS_IN_DB(db, db.formulaImport
> ,
>  '$(fileName)s',
>  '.choose.')
> formulaImportLine.sequence.requires = [IS_INT_IN_RANGE(0,9999999), 
>  IS_NOT_EMPTY()]
> formulaImportLine.productNumber.requires = IS_NOT_EMPTY()
> formulaImportLine.quantity.requires = [IS_FLOAT_IN_RANGE(0,2000), 
>  IS_NOT_EMPTY()]
> db.formulaImportLine.formulaImportId.represent = lambda p, r: r.
> productNumber
>
>
> Given a specific formulaImportLine I want to be able to display the 
> associate formulaLine.productNumber.
>
> Running this code:
> for x in db(db.formulaImportLine.formulaImportLineId==63901).select():
>  print x.formulaImportId.represent()
>
> ...I get the following traceback:
>
> Traceback (most recent call last):
>  File "C:\dev\miscellaneous\playground\dalOutside.py", line 26, in 
> <module>
>  print x.formulaImportId.represent()
> TypeError: 'NoneType' object is not callable
>
> Is there a way for me to reference a 'parent' record and display either 
> for 'format' for the table or the 'represent' for the specific field?
>
>
>

-- 



Reply via email to