You have to pass it 

SQLFORM.grid(...,field_id=db.lvdisksetup.id,....)

else it does not know what table to use.

On Thursday, 29 March 2012 19:58:52 UTC-5, Gwayne aka Mike Veltman wrote:
>
>  On 03/30/2012 12:01 AM, Massimo Di Pierro wrote: 
>
> When you say "I want to manipulate db.lvdisksetup but in stead it 
> manipulates db.lvdisk" what do you mean by "manipulates"?
>
>  
> That when I delete a record or do add a record it gives me the db.lvdisk 
> table and not the db.lvdisksetup table.
>
> So I delete or add a record that is supposed to be a reverence.
>
>
>
> On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: 
>>
>>  Gentle people,
>>
>> I have the following grid:     
>>
>> query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) & (
>> db.lvgroupname.id == usedlvdisksetup) & (db.lvdisksetup.lvdisk_id == 
>> db.lvdisk.id) )
>>     fields = [db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , 
>> db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid]
>>     
>>     form = SQLFORM.grid(query,
>>         fields=fields,
>>         orderby=['lvdisksetup.lunid'],
>>         csv=False,
>>         create = False,
>>         maxtextlength=45
>>         )
>>         
>> I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk 
>> :-)
>>
>> What causes havoc by deleting essential table data :)
>>
>> Part of the db models :)
>>
>> # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 
>> 2GB etc 
>> db.define_table('lvsize',
>>
>>     Field('sizename', type='string',
>>           unique=True,
>>           label=T('Lun Size')),
>>     Field('size', type='string',
>>           label=T('LV Size in bytes')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)   
>>
>> # The LV Disk groups
>> db.define_table('lvgroupname',
>>
>>     Field('lvgroupnamedesc', type='string',
>>            unique=True,
>>           label=T('LV Disk Groupname ')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)
>>
>> # Table rules
>> db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY()
>>
>> # Logical volume on storage
>> db.define_table('lvdisk',
>>
>>     Field('lvdiskdesc', type='string',
>>            unique=True,
>>           label=T('LV Disk description ')),
>>     Field('lvsize_id', db.lvsize,
>>           default=2,
>>           label=T('Size ID')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)
>>
>> # Table rules
>> db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id', 
>> 'lvsize.sizename')
>> db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY()
>>
>>
>> # lvdisksetup
>> db.define_table('lvdisksetup',
>>
>>     Field('lvdisk_id', db.lvdisk,
>>           default=1,
>>           label=T('Logical volume to be added')),
>>     Field('lvgroupname_id', db.lvgroupname,
>>           default=1,
>>           label=T('Member of Logical volume group name')),
>>         Field('lunid', type='integer',
>>           default=2,
>>           label=T('Lun ID')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)   
>>
>> # Table rules
>> db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id', 
>> 'lvdisk.lvdiskdesc')
>> db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id', 
>> 'lvgroupname.lvgroupnamedesc')
>>
>>
>> # hbahostgroupsetup (to add the right disks to a hba or a hostgroup)
>> db.define_table('hbahostgroupsetup',
>>
>>     Field('hbahgdesc', type='string',
>>           label=T('LV Disk setup Description ')),
>>     Field('lvgroupname_id', db.lvgroupname,
>>           default=1,
>>           label=T('LV Disk')),
>>     Field('mapping_id', db.storagemap,
>>           default=1,
>>           label=T('HBA or Hostgroup mapping')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)   
>>
>> # Table rules
>> db.hbahostgroupsetup.lvgroupname_id.requires = IS_IN_DB(db, '
>> lvgroupname.id', 'lvdisk.lvgroupnamedesc')
>> db.hbahostgroupsetup.mapping_id.requires = IS_IN_DB(db, 'storagemap.id', 
>> 'storagemap.mapping')
>> db.hbahostgroupsetup.hbahgdesc.requires = IS_NOT_EMPTY()
>>
>> # disksetupname (to make it possible to have the same lv setup for 
>> different class setups)
>> db.define_table('disksetupname',
>>
>>     Field('disksetupnamedesc', type='string',
>>           label=T('LV Disk group selection description ')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)   
>>
>> # Table rules
>> db.disksetupname.disksetupnamedesc.requires = IS_NOT_EMPTY()
>>
>> # hbahggroup 
>> db.define_table('hbahggroup',
>>
>>     Field('hbahostgroupsetup_id', db.hbahostgroupsetup,
>>           default=1,
>>           label=T('LV on HBA or Hostgroup setup')),
>>     Field('disksetupname_id', db.disksetupname,
>>           default=1,
>>           label=T('Member of Diskgroup')),
>>     Field('created_on','datetime',default=request.now,
>>           label=T('Created On'),writable=False,readable=False),
>>     Field('modified_on','datetime',default=request.now,
>>           label=T('Modified On'),writable=False,readable=False,
>>           update=request.now),
>>     migrate=settings.migrate)   
>>
>> # Table rules
>> db.hbahggroup.hbahostgroupsetup_id.requires = IS_IN_DB(db, '
>> hbahostgroupsetup.id', 'hbahostgroupsetup.hbahgdesc')
>> db.hbahggroup.disksetupname_id.requires = IS_IN_DB(db, 'disksetupname.id', 
>> 'disksetupname.disksetupnamedesc')
>>  
>  
>  

Reply via email to