Looks like the type coercion code was last modified in r725.

http://code.google.com/p/web2py/source/diff?spec=svn743&r=725&format=side&path=/trunk/gluon/contrib/gql.py&old_path=/trunk/gluon/contrib/gql.py&old=718

If the bug is not in 1.56.2, try using 1.56.2 until this can be fixed/
patched.

Robin

On Feb 23, 8:08 am, Joseph Jude <[email protected]> wrote:
> Okay with little bit of search, I found that,
> -In GAE, one can't select a single field; so I selected all fields
> (db.priority.ALL) and the error 1 vanished.
> -In GAE, datetime field throws up error. I removed datetime fields,
> and I didn't get any error. Once I introduce the datetime field in db
> model, the error is back. It is not only with null value; even when I
> try to insert a value, I get the same error.
>
> Any help?
>
> Thank you,
> Joseph
>
> On Feb 23, 3:34 pm, Cephire <[email protected]> wrote:
>
> > All,
> > I'm trying out with web2py. It worked okay in the local web2py server;
> > however when I tried with GAE (again local), I get few errors. Please
> > help in resolving this. Thank you.
>
> > Models
> > ========
>
> > db.define_table('status', SQLField('name'))
>
> > db.define_table('priority', SQLField('name'))
>
> > db.define_table('cases',
> >     SQLField('title'),
> >     SQLField('description', 'text', length=256),
> >     SQLField('status', db.status),
> >     SQLField('priority', db.priority),
> >     SQLField('created_by', db.auth_user),
> >     SQLField('created_time', 'datetime', default=now),
> >     SQLField('last_modified_by', db.auth_user),
> >     SQLField('last_modified_time', 'datetime', default=now)
> >     )
>
> > db.cases.priority.requires=IS_IN_DB(db, 'priority.id','priority.name')
> > db.cases.created_by.required=IS_IN_DB(db, 'auth_user.id')
> > db.cases.title.requires=[IS_NOT_EMPTY()]
> > db.cases.description.requires=[IS_NOT_EMPTY()]
>
> > controller
> > ==========
> > @auth.requires_login()
> > def create():
> >     priority_values=[]
> >     for pr in db().select(db.priority.name):
> >             priority_values.append(pr['name'])
>
> >     status_values=[]
> >     for st in db().select(db.status.name):
> >             status_values.append(st['name'])
>
> >     form=FORM(TABLE(TR("Title:",INPUT(_type="text",_name="title",
> > requires=IS_NOT_EMPTY())),
> >                     TR("Status:", status_values[0]),
> >                     TR("Priority:", SELECT(priority_values,_name='priority',
> > requires=IS_IN_SET(priority_values))),
> >                     TR("Description:", TEXTAREA(_name='description')),
> >                     TR("Created By:", auth.user.email),
> >                     TR("",INPUT(_type="submit", _value="Create"))
> >         ))
> >     if form.accepts(request.vars, session):
> >         #insert into the record
> >         #dict index starts with 0; record id starts with 1
> >         db.cases.insert(title=form.vars.title, status=1,
> > priority=priority_values.index(form.vars.priority)+1,
> > description=form.vars.description,created_by=auth.user.id,
> > last_modified_by=auth.user.id)
> >         redirect(URL(r=request, f='index'))
> >     return dict(form=form)
>
> > Error 1:
> > SyntaxError: SQLSet: no tables selected
> > at line
> > for pr in db().select(db.priority.name):
>
> > Error 2:
> > I changed the insert line into the below:
>
> > db.cases.insert(title="test title",  priority=1, created_by=12,
> > description="test description")
>
> > 1 & 12 are the IDs in the respective tables in google datastore
>
> > and I get this error:
>
> >     str(obj)[11:].strip().split(':')[:3]]
> > ValueError: invalid literal for int() with base 10: ''
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to