I'm trying to auto-populate a field when a table entry is created.  Of 
course, web2py has a feature, the "compute=" clause, just for this purpose! 
 But... in my case at least, the feature is not working.

OK -- full disclosure of the only weird thing going on in my design...  I 
have pushed all table definitions into module files instead of loading them 
from the model directory.  It saves a lot of time as I have large tables, 
and a bunch of them.  So here is my table:

    @classmethod
    def createTable(cls,db):
        import datetime as dt
        db.define_table("meet",
            Field("id_club", "reference club", label="Host club"),
            Field("id_venue", "reference venue", label="Venue", 
ondelete="SET NULL"),
            Field("id_lsc", "reference lsc", label="Swimming association", 
ondelete="SET NULL"),
            Field("title", "string", label="Additional Name",comment="ex: 
Spooktacular Halloween meet"),
            Field("name", "string",comment="ex: WA Zone 3 C/B/BB+"),
            Field("sanction", "string", label="Sanction Number"),
            Field("info", "text",label="Information",comment="To be shown 
on meet homepage"),
            Field("start_date", "date", label="Starting 
date",comment="First day of meet"),

        ... blah, blah, blah...  lots of fields here...

            Field("season", compute=lambda r: ((r['start_date'] or 
dt.datetime.now())+dt.timedelta(122)).date),
            current.auth.signature,
            format="%(name)s",
            migrate=current.settings.migrate)



The table works perfectly except the compute field of "season" is never 
populated.  I know for a fact the lambda is run, because when I had 
"datetime" imported into the wrong scope I got a walkback when this line 
was executed.  But for some reason, the result of this calculation is never 
entered into the database when the row is created.

Any ideas??

-- Joe B.

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to