Il 01/04/2012 19:52, CtrlSoft ha scritto:
i have the follwing tables:

||
db.define_table('topmenu',
Field('parent',type='integer', requires=IS_EMPTY_OR(IS_IN_DB(db, 'topmenu.id', '%(title)s'))),
    Field('link', type='string', label=T('Link')),
    Field('title', type='string',label=T('Title Ro')),
    Field('content', type='text',label=T('Content En')),
Field('added_on', 'date', default=request.now, requires=IS_DATE(format=T('%d-%m-%Y')), writable=False), Field('updated_on', 'datetime', default=request.now, update=request.now, requires=IS_DATETIME(format=T('%d-%m-%Y %H:%M:%S')), writable=False),
    Field('public', 'boolean', default=True)

db.define_table('sidemenu',
Field('parent',type='integer', requires=IS_EMPTY_OR(IS_IN_DB(db, 'sidemenu.id', '%(title)s'))),
    Field('link', type='string', label=T('Link')),
    Field('title', type='string',label=T('Title')),
    Field('content', type='text',label=T('Content')),
Field('added_on', 'date', default=request.now, requires=IS_DATE(format=T('%d-%m-%Y')), writable=False), Field('updated_on', 'datetime', default=request.now, update=request.now, requires=IS_DATETIME(format=T('%d-%m-%Y %H:%M:%S')), writable=False),
    Field('public', 'boolean', default=True)

how to reference table below with this 2 tables,
||
db.define_table("articles",
Field('reference', db.sidemenu, requires=IS_IN_DB(db, 'sidemenu.id', '%(title)s')), *_# here i need smth like : db.sidemenu | db.topmenu ... _and is_in_db_(db,'sidemenu.id' or 'topmenu.id')_*
    Field('image', 'upload'),
    Field("title",label=T('Title Ro'),requires=IS_NOT_EMPTY()),
Field("content" ,type='text',label=T('Content Ro'),requires=IS_NOT_EMPTY()), Field('added_on', 'date', default=request.now, requires=IS_DATE(format=T('%d-%m-%Y')), writable=False), Field('updated_on', 'datetime', default=request.now, update=request.now, requires=IS_DATETIME(format=T('%d-%m-%Y %H:%M:%S')), writable=False),
    Field('event', 'boolean', default=False),
    Field('public', 'boolean', default=True))


why not to use just one menu table? you can add a boolean field in order to discriminate if the record is for sidemenu or topmenu and you can reference the articles table as usual...

    M.

Reply via email to