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
----------------------------------------------------------------------------------------------
 

-- 



Reply via email to