is there any difference to set variable on models or modules ?
*e.g.*
*models/db_connect.py*
db = DAL('sqlite://test.sqlite', pool_size = 1)
*modules/db_connect.py*
from gluon.dal import DAL
from gluon import current
db = DAL('sqlite://test.sqlite', pool_size = 1)
cache = current.cache
cache_time_expire = 10
cache_model = cache.ram # cache.ram, cache.disk, cache.memcache, cache.redis
cache_db = (cache_model, cache_time_expire)
*controllers/install.py*
import db_connect
def index():
db = db_connect.db
db_schema_1_address.define(db = db)
address_id_1 = db.address.insert(street = 'a', zip_code = '1', city =
'a', country = 'a')
*controllers/api.py*
import db_connect
#db = db_connect.db # not worked, must use from models/db.py
cache_db = db_connect.cache_db # this variable can be used from modules, no
error occured
db_schema_1_address.define(db = db)
def response_json_rows():
if not request.env.request_method == 'GET': raise HTTP(403)
table_name = request.args(0)
id = request.args(1)
if id.isdigit() and int(id) > 0:
query = (db[table_name]['id'] == id)
else:
query = (db[table_name]['id'] > 0)
rows = db(query).select(orderby = ~db[table_name]['id'],
cache = cache_db,
cacheable = True)
return response.json(rows)
Traceback (most recent call last):
File "/Users/sugizo/learn/python/web2py/gluon/restricted.py", line 219, in
restricted
exec(ccode, environment)
File
"/Users/sugizo/learn/python/web2py/applications/test/controllers/api.py",
line 24, in <module>
db_schema_1_address.define(db = db)
File "applications/test/modules/db_schema_1_address.py", line 64, in
define
format = lambda r: \
File "/Users/sugizo/learn/python/web2py/gluon/packages/dal/pydal/base.py",
line 581, in define_table
raise SyntaxError('table already defined: %s' % tablename)
SyntaxError: table already defined: address
any ideas ?
intention is to move define tables from models into modules and load it on
controller when it's required, with minimal effort
thx n best regards,
stifan
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/a14018c6-f1d2-4621-8ea2-e6c4f82876de%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.