I tried it
It works well in sqllite
In gae returns a ticket:
Traceback (most recent call last):
File "/home/napoleon/triviaapp/web2py/gluon/restricted.py", line 188, in
restricted
exec ccode in environment
File
"/home/napoleon/triviaapp/web2py/applications/welcome/controllers/default.py:category",
line 266, in <module>
File "/home/napoleon/triviaapp/web2py/gluon/globals.py", line 96, in
<lambda>
self._caller = lambda f: f()
File
"/home/napoleon/triviaapp/web2py/applications/welcome/controllers/default.py:category",
line 57, in category
File "/home/napoleon/triviaapp/web2py/gluon/tools.py", line 2837, in
create
deletable=False,
File "/home/napoleon/triviaapp/web2py/gluon/tools.py", line 2780, in
update
hideerror=self.settings.hideerror):
File "/home/napoleon/triviaapp/web2py/gluon/sqlhtml.py", line 952, in
accepts
hideerror=hideerror,
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 1542, in
accepts
status = self._traverse(status,hideerror)
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 552, in
_traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 552, in
_traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 552, in
_traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 552, in
_traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 559, in
_traverse
newstatus = self._validate()
File "/home/napoleon/triviaapp/web2py/gluon/html.py", line 1330, in
_validate
(value, errors) = validator(value)
File "/home/napoleon/triviaapp/web2py/gluon/validators.py", line 493, in
__call__
rows = self.dbset(field == value).select(limitby=(0, 1))
File "/home/napoleon/triviaapp/web2py/gluon/contrib/gql.py", line 737, in
select
self._db['_lastsql'] = 'SELECT WHERE %s' % self.where
File "/home/napoleon/triviaapp/web2py/gluon/contrib/gql.py", line 615, in
__str__
return ' AND '.join([str(filter) for filter in self.filters])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-10:
ordinal not in range(128)
INFO 2010-09-25 15:47:49,038 gaehandler.py:65] **** Request:
49.73ms/50.00ms (real time/cpu time)
INFO 2010-09-25 15:47:49,043 recording.py:327] Saved; key:
__appstats__:068900, part: 121 bytes, full: 15295 bytes, overhead: 0.001 +
0.006; link: http://localhost:8080/stats/details?time=1285429668988
INFO 2010-09-25 15:47:49,049 dev_appserver.py:3275] "POST
/welcome/default/category HTTP/1.1" 500 -
INFO 2010-09-25 15:47:49,097 gaehandler.py:65] **** Request:
0.60ms/0.00ms (real time/cpu time)
INFO 2010-09-25 15:47:49,098 recording.py:327] Saved; key:
__appstats__:069000, part: 31 bytes, full: 1052 bytes, overhead: 0.000 +
0.001; link: http://localhost:8080/stats/details?time=1285429669097
INFO 2010-09-25 15:47:49,105 dev_appserver.py:3275] "GET /favicon.ico
HTTP/1.1" 400 -
On Sat, Sep 25, 2010 at 10:16 AM, mdipierro <[email protected]> wrote:
> can you help us debug? Try
>
>
> db.category.name.requires = IS_NOT_IN_DB(db, 'category.name')
>
> On Sep 25, 8:37 am, Napoleon Moreno <[email protected]> wrote:
> > Good day
> >
> > My dal was:
> >
> > db.define_table('category',
> > Field('name','string'),
> > format='%(name)s'
> > )
> >
> > db.category.name.requires = IS_NOT_IN_DB(db, db.category.name)
> >
> > The error ocurrs in db.category.name.requires = IS_NOT_IN_DB(db,
> > db.category.name).
> >
> > I removed this for the moment.
> >
> > Thanks for any advice.
> >
> > On Thu, Sep 23, 2010 at 9:38 PM, Napoleon Moreno <[email protected]
> >wrote:
> >
> > > Good night
> >
> > > i have a simple form to input data in hebrew
> >
> > > I works ok in in sqlLite.
> >
> > > in GAE it returns:
> >
> > > return ' AND '.join([str(filter) for filter in self.filters])
> > > UnicodeEncodeError: 'ascii' codec can't encode characters in position
> 7-11:
> > > ordinal not in range(128)
> >
> > > db.define_table('category',
> > > Field('name','string'),
> > > format='%(name)s'
> > > )
> >
> > > this is the form:
> >
> > > form = crud.create(db.category, next=URL('category'),
> > > message=T("record created"))
> > > categories = crud.select(db.category, fields=['name'],
> > > headers={'category.name': 'Name'})
> > > return dict(form=form, categories=categories)
> >
> >
>