Massimo

Thanks for the reply.  Yes, I know I can do it the second way, I'm trying 
to a generic function working that will work with any field with the 
represent value set.  When I try the first suggestion I get the following:

Traceback (most recent call last):
 File "C:\dev\miscellaneous\playground\dalOutside.py", line 28, in <module>
 print db.formulaImportLine.formulaImportId.represent(x.formulaImportLineId)
TypeError: <lambda>() takes exactly 2 arguments (1 given)

I'm kinda lost here now...

-Jim

On Wednesday, September 12, 2012 3:02:44 PM UTC-5, Massimo Di Pierro wrote:
>
> Given your model you can do:
>
> for x in db(db.formulaImportLine.formulaImportLineId==63901).select():
>  print db.formulaImportLine.formulaImportId.represent(x.formul
> aImportLineId)
>
> 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