This is the final model after following given suggesstion by you all

# Table Vehicle name master
db.define_table("tblVehicleName",
      Field("VehicleName",  length=45, notnull=True,
default=None,unique=True,label='Vehicle Name'),
      format='%(VehicleName)s'
      )
# Table Vehicle

db.define_table("tblVehicle",
      Field("VehicleName_id",db.tblVehicleName,label='Vehicle Name'),
      Field("VehicleNo", default=None,label='VehicleNo'),
      format=lambda row: "%s" % row.VehicleName_id.VehicleName )
db.tblVehicle.VehicleName_id.requires=IS_IN_DB(db,'tblVehicleName.id','%(VehicleName)s')

 # Table Driver

db.define_table("tblDriver",
      Field("DriverName",'string',label='Driver Name'),
      Field('id_tblVehicle', db.tblVehicle,label='Vehicle Name'))
db.tblDriver.id_tblVehicle.requires=IS_IN_DB(db, 'tblVehicle.id')
db.tblDriver.id_tblVehicle.requires=IS_IN_DB(db,'tblVehicle.id'),
format=lambda row: "%s" %row.VehicleName_id.VehicleName

what actually i was looking for to get vehicle name in the dropdown list
while adding driver , but i was getting id
but now i am not getting any id ,no dropdown instead there is textfield
after writting the above given model.

any Suggestions

Regards,
Naleen Yadav
www.genpro.co.in


On Sat, Nov 12, 2011 at 11:16 AM, Naleen Yadav <[email protected]>wrote:

> Thanks for Your reply
> but its not working . still I am getting id instead of Vehicle name.
>
> Regards,
> Naleen Yadav
> www.genpro.co.in
>
>
> On Fri, Nov 11, 2011 at 10:12 PM, Massimo Di Pierro <
> [email protected]> wrote:
>
>> From Burno'e example
>>
>> db.tblDriver.id_tblVehicle.requires=IS_IN_DB(db, 'tblVehicle.id')
>>
>> is optiona and automatic. If you add it it overrides the format so you
>> want to do
>>
>> db.tblDriver.id_tblVehicle.requires=IS_IN_DB(db,
>> 'tblVehicle.id',format=lambda row: "%s" %
>> row.**VehicleName_id.VehicleName)
>>
>> On Nov 11, 12:17 am, Bruno Rocha <[email protected]> wrote:
>> > *or you can try:*
>> >
>> > db.define_table("tblVehicle",
>> >       Field("*VehicleName_id*",db.tblVehicleName,label='Vehicle Name'),
>> >       Field("VehicleNo", default=None,label='VehicleNo'),
>> >       format=*lambda row: "%s" % row.**VehicleName_id.VehicleName* )
>> > db.tblVehicle.VehicleName.requires=IS_IN_DB(db,'tblVehicleName.id','%(
>> > VehicleName)s')
>> >
>> > * # Creating tblDriver adding Driver name and selecting the name of
>> vehicle
>> > from the dropdown*
>> >
>> > db.define_table("tblDriver",
>> >       Field("DriverName",'string',label='Driver Name'),
>> >       Field('id_tblVehicle', db.tblVehicle,label='Vehicle Name'))
>> > db.tblDriver.id_tblVehicle.requires=IS_IN_DB(db, 'tblVehicle.id')
>> >
>> > By thw way you have problem with the name you give to the fields, try to
>> > name references with *tablename_id* to avoid confusion.
>> >
>> > --
>> >
>> > Bruno Rocha
>> > [http://rochacbruno.com.br]
>>
>
>

Reply via email to