>
> I do not understand this properly. 
>
> After explicitly importing 'current' in the controller, I made some 
> progress.  But why is the class definition necessary and how does it 
> initialise db when db is not available in the module?
>

You don't necessarily need a class. The point is just that you need to pass 
in the db instance, either via an __init__ method of a class, or simply as 
an argument to your function. In your case:

def number_of_records(db, table):

And when you call that function, pass in your db object as the first 
argument. Another option is to add the db object to "current" -- for 
example, in the db.py model file:

from gluon import current
current.db = db

Then when you import current in your module, you can refer to current.db.

Anthony

Reply via email to