I use your photon_torpedo/target sample in "welcome" application.

The request is http://127.0.0.1:8080/welcome/default/launch (GAE
1.3.1)

ERROR    2010-02-18 09:04:36,200 restricted.py:53] In FILE: C:
\Python25\eclipse\workspace\web2py_1.75.3\applications\welcome/
controllers/default.py

Traceback (most recent call last):
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon
\restricted.py", line 173, in restricted
    exec ccode in environment
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\applications
\welcome/controllers/default.py:launch", line 62, in <module>
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\globals.py",
line 96, in <lambda>
    self._caller = lambda f: f()
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\applications
\welcome/controllers/default.py:launch", line 59, in launch
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\tools.py",
line 2395, in create
    deletable=False,
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\tools.py",
line 2333, in update
    upload=self.settings.download_url,
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\sqlhtml.py",
line 675, in __init__
    inp = field.widget(field, default)
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\sqlhtml.py",
line 434, in __call__
    record =
self.db(self.fields[1]==value).select(self.fields[0]).first()
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\contrib
\gql.py", line 673, in select
    (items, tablename, fields) = self._select(*fields, **attributes)
  File "C:\Python25\eclipse\workspace\web2py_1.75.3\gluon\contrib
\gql.py", line 636, in _select
    item = self._db[tablename]._tableobj.get_by_id(filter.right)
  File "C:\Python25\eclipse\workspace\google_appengine_1.3.1\google
\appengine\ext\db\__init__.py", line 1010, in get_by_id
    return get(keys[0], rpc=rpc)
  File "C:\Python25\eclipse\workspace\google_appengine_1.3.1\google
\appengine\ext\db\__init__.py", line 1203, in get
    keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)
  File "C:\Python25\eclipse\workspace\google_appengine_1.3.1\google
\appengine\api\datastore.py", line 141, in NormalizeAndTypeCheckKeys
    keys = [_GetCompleteKeyOrError(key) for key in keys]
  File "C:\Python25\eclipse\workspace\google_appengine_1.3.1\google
\appengine\api\datastore.py", line 2354, in _GetCompleteKeyOrError
    raise datastore_errors.BadKeyError('Key %r is not complete.' %
key)
BadKeyError: Key datastore_types.Key.from_path(u'target', 0L,
_app=u'web2py') is not complete.


INFO     2010-02-18 09:04:36,200 gaehandler.py:55] **** Request:
109.00ms/109.00ms (real time/cpu time)
INFO     2010-02-18 09:04:36,246 dev_appserver.py:3246] "GET /welcome/
default/launch HTTP/1.1" 200 -

Says 200, but the browser send this:
  Status: 500 INTERNAL SERVER ERROR
  Content-Type: text/html; charset=UTF-8
  web2py_error: ticket welcome/
127.0.0.1.2010-02-18.08-16-43.e1b0f638-417c-4108-a75b-f809cb1de3ec
  Content-Length: 841

Thx



On 18 fév, 00:26, mdipierro <mdipie...@cs.depaul.edu> wrote:
> I have never seen this error. Can you show the relavant code and the
> complete traceback?
>
> On Feb 17, 3:58 pm, ecall <edouard.call...@gmail.com> wrote:
>
> > Thanks for this nice feature.
>
> > How can I make it run with ./dev_appserver.py (development for gae)?
>
> > So far, I have this:
> >   File "......../workspace/google_appengine/src/google/appengine/api/
> > datastore.py", line 2172, in _GetCompleteKeyOrError
> >     raise datastore_errors.BadKeyError('Key %r is not complete.' %
> > key)
> > BadKeyError: Key datastore_types.Key.from_path(u'target', 0L,
> > _app_id_namespace=u'web2py') is not complete.
>
> > Regards,
> > Edouard
>
> > On 6 fév, 21:30, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > People say there is some magic in web2py.
> > > Here is some real magic now in trunk that I am sure you have never
> > > seen.
>
> > > Caveats:
> > > 0) requires latest trunk (bzr 1603, hg 175:e42b559254f6)
> > > 1) this is an experiment, not sure it is a good idea
> > > 2) this is the first function in web2py that REQUIRES jQuery
> > > 3) works but I am not yet convinced it should stay there
> > > 4) even if it stays, I am sure the API should stay
>
> > > Example:
>
> > > ### assume this model
> > > db.define_table('target',Field('name'))
> > > if not db(db.target.id>0).count():
> > >     db.target.insert(name="Klingon")
> > >     db.target.insert(name="Romulans")
> > >     db.target.insert(name="Borg")
> > >     db.target.insert(name="Borg2")
> > > db.define_table('photon_torpedo',Field('target',db.target))
>
> > > ### assume this action in controller default.py
> > > def launch():
> > >     db.photon_torpedo.target.represent=lambda target: target.name
> > >     return dict(new_torpedo=crud.create(db.photon_torpedo),
> > >                 launched_torpedos=db().select(db.photon_torpedo.ALL))
>
> > > So far nothing new.
>
> > > Now append to the model or insert at top of controller the following:
>
> > > from gluon.sqlhtml importAutocompleteWidget
> > > db.photon_torpedo.target.widget=AutocompleteWidget(request,db.target.name,db.target.id)
>
> > > No need to define any callback action (there is no callback action!)
> > > No plugin required (perhaps some optional css to style).
> > > No js coding required.
> > > Applies to existing apps, including those that use custom forms.
>
> > > Let's see who can figure out how it works!
>
> > > Massimo
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to