I want to speed up to pull the referenced table by IS_IN_DB.
For example, EDXUSF00 is referencing TDMUSJ00 table which takes 10 seconds
to display the form because it has about 40,000 records. I was wondring if
I can cache TDMUSJ00 so that it will be faster when the form is displayed
second time.
db.define_table('TDMUSJ00',
Field('TRTRCD', length=8, label="End User Code"),
Field('TRTSCD', length=3, label="Dept"),
Field('TRTRKN', length=30, label="Cust Name"),
primarykey=['TRTRCD'])
db.define_table('EDXUSF00',
Field('USDIID', length=5, label="Dist Code"),
Field('USACCT', length=30, label="Dist End User Code"),
Field('USUSCD', length=8, label="End User Code"),
Field('USUPFL', length=1, label="OZ UPLOAD FLAG"),
Field('USCRBY', length=20, default = auth.user.username.upper() if
auth.user else None, label="Created by"),
Field('USCRDT', 'datetime', default =request.now, label="Created on"),
Field('USUPBY', length=20, update = auth.user.username.upper() if
auth.user else None, label="Updated by"),
Field('USUPDT', 'datetime', update =request.now, label="Updated on"),
primarykey=['USDIID', 'USACCT'])
db.EDXUSF00.USDIID.requires=IS_IN_DB(db,db.EDMFVF00.FVTKCD,'%(FVNAME)s
(%(FVTKCD)s)')
db.EDXUSF00.USACCT.requires=[IS_NOT_EMPTY(),IS_LENGTH(30,1),IS_UPPER()]
db.EDXUSF00.USUSCD.requires=IS_IN_DB(db,db.TDMUSJ00.TRTRCD,'%(TRTRKN)s
(%(TRTRCD)s)')
db.EDXUSF00.USUPFL.writable = db.EDXUSF00.USUPFL.readable = False
db.EDXUSF00.USCRBY.writable = False
db.EDXUSF00.USCRDT.writable = False
db.EDXUSF00.USUPBY.writable = False
db.EDXUSF00.USUPDT.writable = False
--