It shows the dropdown list when I define IS_IN_DB like this. (See OK)
But doesn't appear when I use the table with primary key (See NG)
OK
----------------------------------------------------------------------------------------------
db.define_table('person',
Field('modified_on', 'datetime', default=request.now),
Field('name'),
format='%(name)s')
db.define_table('dog',
Field('modified_on', 'datetime', default=request.now),
Field('owner', length=64),
Field('name'),
format='%(name)s')
db.dog.owner.requires = IS_IN_DB(db,db.person.id,'%(name)s')
----------------------------------------------------------------------------------------------
NG
----------------------------------------------------------------------------------------------
# LF - TDMHL
db.define_table('TDMHLL00',
Field('HLHSHH', length=3, label="Delivery Method Code"),
Field('HLHSHN', length=30, label="Delivery Method Name"),
format='%(HLHSHN)s',
primarykey=['HLHSHH'])
# XR - DELIVERY METHOD
db.define_table('EDXHLF00',
Field('HLDIID', length=5, label="Dist Code"),
Field('HLSCAC', length=4, label="SCAC"),
Field('HLHSHH', length=3, label="Delivery Method"),
Field('HLSTEK', length=22, label="Default Ship Remarks"),
Field('HLUPFL', length=1, label="OZ UPLOAD FLAG"),
Field('HLCRBY', length=128, default = auth.user.username.upper() if
auth.user else None, label="Created by"),
Field('HLCRDT', 'datetime', default =request.now, label="Created on"),
Field('HLUPBY', length=128, update = auth.user.username.upper() if
auth.user else None, label="Updated by"),
Field('HLUPDT', 'datetime', update =request.now, label="Updated on"),
primarykey=['HLDIID', 'HLSCAC'])
db.EDXHLF00.HLDIID.requires=[IS_NOT_EMPTY(),IS_LENGTH(5,1),IS_UPPER()]
db.EDXHLF00.HLSCAC.requires=[IS_NOT_EMPTY(),IS_LENGTH(4,1),IS_UPPER()]
db.EDXHLF00.HLHSHH.requires=[IS_NOT_EMPTY(),IS_LENGTH(3,3),IS_UPPER(),IS_IN_DB(db,db.TDMHLL00.HLHSHH)]
db.EDXHLF00.HLUPFL.writable = db.EDXHLF00.HLUPFL.readable = False
db.EDXHLF00.HLCRBY.writable = False
db.EDXHLF00.HLCRDT.writable = False
db.EDXHLF00.HLUPBY.writable = False
db.EDXHLF00.HLUPDT.writable = False
----------------------------------------------------------------------------------------------
--