When you say "I want to manipulate db.lvdisksetup but in stead it 
manipulates db.lvdisk" what do you mean by "manipulates"?

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