Bump. Help anyone? Can "default" be equal to a variable dependent on another field in the same table?
Thanks! On Jan 6, 6:10 am, lyn2py <lyn...@gmail.com> wrote: > What you say is true, however for argument's sake, how could I achieve > the above with the 4th table? > > In my situation, the 3 tables have different fields (but I didn't have > access to the file so I simply made them the same in the example here. > > Thanks. > > On Jan 6, 1:24 am, Andrew <awillima...@gmail.com> wrote: > > > > > > > > > I think this is more of a data modeling question than web2py. > > I would have one table called "content" with an extra column > > "content_type" . You could define queries over the top if you just > > want one ofthe three. > > > Your M:M table logically joins to "content". You sort of have three > > subtype tables, but they are identical in structure so there is no > > reason to separate, > > > On Jan 6, 5:22 am, lyn2py <lyn...@gmail.com> wrote: > > > > I have tables with individual properties, > > > > db.define_table('article', > > > Field('title', 'string', length=255,required=True), > > > Field('description', 'text',required=True), > > > ) > > > db.define_table('post', > > > Field('title', 'string', length=255,required=True), > > > Field('description', 'text',required=True), > > > ) > > > db.define_table('page', > > > Field('title', 'string', length=255,required=True), > > > Field('description', 'text',required=True), > > > ) > > > > And I have a table with many-to-many relationship (with different > > > tables): > > > > db.define_table('action', > > > Field('user_id','reference > > > auth_user',default=auth.user_id,required=True), > > > > Field('action','string',requires=IS_IN_SET(('fav','subscribe','report','fol > > > low')),required=True), > > > Field('table',requires=???,required=True), > > > Field('table_id','integer',default=???,required=True), > > > ) > > > > My questions: > > > 1.. The field, "table" is actually one of the tables, article/post/ > > > page. Is the only correct way to use > > > requires=IS_IN_SET(('article','post','page')) ? > > > > 2.. "table_id" is actually dependent on the "table" selected. what > > > should I put for "default=???" > > > > 3.. Can I set a different set of IS_IN_SET for "action" field, > > > depending on the "table" field chosen? > > > > 4.. Finally, if the above is the wrong approach, how should I do it > > > correctly (best practice?) > > > > Thanks!