What you mentioned is only for crud forms. Isn't there anything like a
database wide on add/remove/update function definition? If no, don't
you think it would be good to implement it? For e.g. say I have tags
and tag count. I want to increment tag count on each post update/
addition/removal. That would be the most suitable option...

On Apr 6, 6:24 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> This can only be done if insert and delete is done via crud.
>
> crud.settings.create_onaccept = f
> crud.settings.update_onaccept = f
> crud.settings.delete_onaccept = f
>
> where f is any function that takes the submitted form.
>
> On Apr 6, 5:34 am, Ishbir <ishbi...@gmail.com> wrote:
>
> > Thanks for your help, although I had to tweak the code to get it
> > working. It finally works! Thank you.
>
> > And by the way, do you know any way by which behaviours can be
> > defined? For e.g. if a record is added, then do something, if record
> > is deleted then do something. Can stuff like that be implemented in
> > web2py?
>
> > On Apr 5, 8:37 pm, Thadeus Burgess <thade...@thadeusb.com> wrote:
>
> > > Your join is performing a union, your queries could (and will) get
> > > quite huge, since your getting a record for every tag. (so for two
> > > tags you actually get two rows for that snippet). A left join will
> > > provide you with everything, but you still get a row for every tag.
>
> > > Even with a left join you will still have to query for the title of the 
> > > tag
>
> > > >>> rows = db().select(db.snippets.ALL, db.snippet_tags_link.ALL, 
> > > >>> left=db.snippet_tags_link.on(db.snippets.id == 
> > > >>> db.snippet_tags_link.snippet_id))
> > > >>> print rows
>
> > > snippets.id,snippets.title,snippets.content,snippets.created,snippet_tags_link.id,snippet_tags_link.snippet_id,snippet_tags_link.tag_id
> > > 1,hi,hello world,2010-04-05 09:21:20,1,1,1
> > > 1,hi,hello world,2010-04-05 09:21:20,2,1,1
> > > 2,woot,erifica,2010-04-05 09:21:20,<NULL>,<NULL>,<NULL>
>
> > > Or you can do a secondary query to get the tags.
>
> > > snippets = db().select()
> > > for snip in snippets:
> > >    print snippet.title
> > >    for tag in snip.snippet_tags_link.select():
> > >       print tag.snippet_tags.name
>
> > > -Thadeus
>
> > > On Mon, Apr 5, 2010 at 8:46 AM, Ishbir <ishbi...@gmail.com> wrote:
> > > > I've got some problem with the MANY-MANY relation in Web2Py. This is
> > > > my code-
>
> > > >http://pastie.textmate.org/903738
>
> > > > Now, the problem is that the query returns only those records which
> > > > have tags, not the ones without them. However, if I specify query|
> > > > db.snippets.id>0 or anything, it gives me garbled results with all the
> > > > tables mixed up and nothing right..
>
> > > > Is there any way around this? I thought about using the tagging plugin
> > > > but the issue is that I don't think it would be very efficient since I
> > > > need to also display the tags on the index page and that would result
> > > > in n+1 queries where n is the no. of snippets. Or I am just getting
> > > > apprehensive and it will just take 2-3 queries to get the tags of
> > > > snippet?
>
> > > > --
> > > > You received this message because you are subscribed to the Google 
> > > > Groups "web2py-users" group.
> > > > To post to this group, send email to web...@googlegroups.com.
> > > > To unsubscribe from this group, send email to 
> > > > web2py+unsubscr...@googlegroups.com.
> > > > For more options, visit this group 
> > > > athttp://groups.google.com/group/web2py?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to