Nevermind, thanks for all the help, I realized where the issue lies and it was rather foolish in the end. (I was looking at an older, archived database)
On Wednesday, July 31, 2013 11:39:52 AM UTC-4, Mark Finkelstein wrote: > > As part of an HTTP request. > > On Wednesday, July 31, 2013 11:11:19 AM UTC-4, Anthony wrote: >> >> Is the module being accessed as part of an HTTP request to the app, or >> via an external script? >> >> On Wednesday, July 31, 2013 9:50:56 AM UTC-4, Mark Finkelstein wrote: >>> >>> Well here's some code: >>> >>> def tags_link_insert(self, table_id, table_name, tags): >>> if not isinstance(table_name, str): >>> raise TypeError("table_name must be of type str") >>> if not isinstance(tags, (list, tuple)): >>> tags = [tags] >>> tagstb = self.tags_table >>> linkstb = self.links_table >>> for item in tags: >>> if not isinstance(item, str): >>> raise TypeError('tags must be of type str') >>> tag_item = self.db(tagstb.tag==item).select(tagstb.id).first >>> () >>> tag_id = tag_item['id'] if tag_item else tagstb.insert(tag= >>> item) >>> ret = linkstb.insert(table_id=table_id, table_name= >>> table_name, tag_id=tag_id) >>> >>> self.db is set in the __init__ as follows, where tdb is set to the >>> defined db in db.py after which a call is made to the class: >>> def __init__(self, tdb, tables, orderby=None, user_signature=False, >>> hmac_key=None, autopopulate=True): >>> self.db = tdb >>> >>> When I look at ret and tag_id, I get valid return values, but when I >>> look at the database, I can see that no commit was made. >>> >>> I read about exec_environment, are you saying that I can only access the >>> db object through the environment? It seems >>> Auth<http://www.web2py.com.ar/examples/static/epydoc/web2py.gluon.tools-pysrc.html#Auth> >>> does >>> not do this. I may be wrong though? >>> >>> On Wednesday, July 31, 2013 9:03:17 AM UTC-4, Anthony wrote: >>>> >>>> Show some code. >>>> >>>> On Tuesday, July 30, 2013 11:19:49 PM UTC-4, Mark Finkelstein wrote: >>>>> >>>>> I've been using current to access the db in my modules, but I would >>>>> like to modularize my modules a bit so that I don't rely as much on >>>>> current. I was wondering why db seems to not be accessible from the >>>>> modules >>>>> when passed by a caller and saved through the init statement. In other >>>>> words, if I were to call Module(db) or as in Auth(db), it seems that if >>>>> the >>>>> module isnt able to commit to the db. Auth clearly is able to do this, >>>>> and >>>>> I believe I am following the Auth as an example well enough, but I >>>>> thought >>>>> there might be some peculiarities to modules that I am not aware of as >>>>> clearly auth accesses the environment in a special way as well. I dont >>>>> think there should be a difference between using self.db or current.db; >>>>> but >>>>> I may be mistaken? It seems when I change current.db to self.db, that is >>>>> when problems arise. >>>>> >>>>> Thank you in advance! >>>>> >>>> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.