Ah... Ok, that makes much more sense.
On Thu, Jul 1, 2010 at 2:03 PM, mdipierro <mdipie...@cs.depaul.edu> wrote: > Sorry... > > Field('fieldname',type=gae.ReferenceProperty(db.auth_user._tableobj,....) > > On 1 Lug, 03:23, Carles Gonzalez <carle...@gmail.com> wrote: >> Tested and now the error is: >> >> Traceback (most recent call last): >> File "/Users/lauer/web2py/gluon/restricted.py", line 178, in restricted >> exec ccode in environment >> File "/Users/lauer/web2py/applications/web2pytodo/models/db.py", >> line 76, in <module> >> Field(gae.ReferenceProperty(db.auth_user._tableobj)) >> File "/Users/lauer/web2py/gluon/sql.py", line 2648, in __init__ >> self.name = fieldname = cleanup(fieldname) >> File "/Users/lauer/web2py/gluon/sql.py", line 574, in cleanup >> if re.compile('[^0-9a-zA-Z_]').findall(text): >> TypeError: expected string or buffer >> >> On Thu, Jul 1, 2010 at 7:32 AM, mdipierro <mdipie...@cs.depaul.edu> wrote: >> > I think, >> >> > Field(gae.ReferenceProperty(auth_user,...) >> >> > should be >> >> > Field(gae.ReferenceProperty(db.auth_user._tableobj,....) >> >> > On 30 Giu, 16:15, Carles Gonzalez <carle...@gmail.com> wrote: >> >> Sorry, but I've encontured another error. >> >> >> The relevant part of my code is following: >> >> >> if request.env.web2py_runtime_gae: # if running on Google App >> >> Engine >> >> from gluon.contrib.login_methods.gae_google_account import >> >> GaeGoogleAccount >> >> auth.settings.login_form = GaeGoogleAccount() >> >> from gluon.contrib.gql import gae >> >> >> auth.define_tables() # creates all needed tables >> >> >> db.define_table('todos', Field('name','string'), >> >> Field(gae.ReferenceProperty(auth_user, >> >> required=True, >> >> collection_name='todos')) >> >> ) >> >> >> And the traceback is this: >> >> >> Traceback (most recent call last): >> >> File "/Users/lauer/web2py/gluon/restricted.py", line 178, in restricted >> >> exec ccode in environment >> >> File "/Users/lauer/web2py/applications/web2pytodo/models/db.py", >> >> line 76, in <module> >> >> Field(gae.ReferenceProperty(auth_user, required=True, >> >> NameError: name 'auth_user' is not defined >> >> >> Maybe the entity class is not defined at the time of the reference? I >> >> created an user, but still isn't working. >> >> >> When this mini-project is finished I plan to release the source. I >> >> think that a working example of this technique woukd be interesting >> >> for reference. >> >> >> On Wed, Jun 30, 2010 at 10:56 PM, Carles Gonzalez <carle...@gmail.com> >> >> wrote: >> >> > Now is working. Thanks, let's continue testing... >> >> >> > On Wed, Jun 30, 2010 at 10:39 PM, mdipierro <mdipie...@cs.depaul.edu> >> >> > wrote: >> >> >> You are right... fixing it in trunk..1..2..3..done. Please check it. >> >> >> >> Massimo >> >> >> >> On 30 Giu, 15:25, Carles Gonzalez <carle...@gmail.com> wrote: >> >> >>> Hi, i was trying this technique but i'm getting this traceback when >> >> >>> using gae_google_account: >> >> >> >>> Traceback (most recent call last): >> >> >>> File "/Users/lauer/web2py/gluon/restricted.py", line 178, in >> >> >>> restricted >> >> >>> exec ccode in environment >> >> >>> File >> >> >>> "/Users/lauer/web2py/applications/web2pytodo/controllers/default.py:user", >> >> >>> line 56, in <module> >> >> >>> File "/Users/lauer/web2py/gluon/globals.py", line 96, in <lambda> >> >> >>> self._caller = lambda f: f() >> >> >>> File >> >> >>> "/Users/lauer/web2py/applications/web2pytodo/controllers/default.py:user", >> >> >>> line 35, in user >> >> >>> File "/Users/lauer/web2py/gluon/tools.py", line 966, in __call__ >> >> >>> return self.login() >> >> >>> File "/Users/lauer/web2py/gluon/tools.py", line 1419, in login >> >> >>> self.log_event(log % self.user) >> >> >>> File "/Users/lauer/web2py/gluon/tools.py", line 1180, in log_event >> >> >>> origin=origin, user_id=user_id) >> >> >>> File "/Users/lauer/web2py/gluon/contrib/gql.py", line 281, in insert >> >> >>> self._last_reference = tmp >> >> >>> File "/Users/lauer/web2py/gluon/sql.py", line 1611, in __setattr__ >> >> >>> raise SyntaxError, 'Object exists and cannot be redefined: %s' % >> >> >>> key >> >> >>> SyntaxError: Object exists and cannot be redefined: _last_reference >> >> >> >>> On Mon, Jun 28, 2010 at 7:04 AM, dlypka <dly...@gmail.com> wrote: >> >> >>> > OK I downloaded the trunk and tested this mod. >> >> >> >>> > myParent = db.ParentTable.insert(name='Bill') >> >> >>> > myParentNativeRef = myParent._table._last_reference >> >> >> >>> > works >> >> >> >>> > Thanks again. >> >> >> >>> > On Jun 27, 3:28 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: >> >> >>> >> > Maybe just add a new property dynamically to the row >> >> >>> >> > We could call it 'nativeRef' >> >> >> >>> >> > Would it be something like: >> >> >>> >> > self.nativeRef = tmp # Python can add new properties >> >> >>> >> > 'on-the-fly', right? >> >> >> >>> >> > as the new 2nd last statement of insert()? >> >> >> >>> >> If that is useful we can do it. I just did it in trunk so you can >> >> >>> >> test >> >> >>> >> it but I called self._last_reference to avoid possible naming >> >> >>> >> conflicts. >> >> >> >>> >> Massimo >> >> >> >>> Any thoughts?