files presented below: controller modules models and throws error controller: ###### @auth.requires_login() def update():
ubicacion = db.ubicacion(auth_user=auth_user_id) db.ubicacion.ciudad_pais.widget = SQLFORM.widgets.autocomplete( request, db.ciudad_pais.nombre, min_length=2, id_field=db.ciudad_pais.id) if ubicacion is None: form = crud.create(db.ubicacion, next=URL('index')) else: form = crud.update(db.ubicacion, record=ubicacion.id, next=URL('index')) return dict(form=form) ###### models/a20_ciudad.py ###### # -*- coding: utf-8 -*- from applications.welcome.modules import table_ciudad_pais models_ciudad_pais = table_ciudad_pais.Models(db) models_ciudad_pais.define_table() ###### models/a50_ubicacion.py ###### # -*- coding: utf-8 -*- from applications.welcome.modules import table_ubicacion models_ubicacion = table_ubicacion.Models(db, auth_user_id) models_ubicacion.define_table() ###### modules/table_ciudad_pais.py ####### # -*- coding: utf-8 -*- from gluon.dal import Field from gluon import current from gluon.validators import * from gluon.http import redirect from gluon.html import XML, TAG, URL from applications.welcome.modules import app_function class Models(object): def __init__(self, db, migrate=True): self.request = current.request self.session = current.session self.dominio = current.request.env.http_host self.m_function = app_function.App_function() self.db = db self.ciudad_pais = None self.bloqueo = False self.migrate = migrate def define_table(self): self.db.define_table('ciudad_pais', Field('f_id', 'string', writable=False), Field('nombre', 'string', writable=False), migrate=self.migrate, format = '%(nombre)s' ) #label def chequeo(self, location): self.location = location self.db.ciudad_pais.update_or_insert(f_id=self.location['id'], nombre=self.location['name']) self.ciudad_pais = self.db.ciudad_pais(f_id=self.location['id']) return self.ciudad_pais ######### modules/table_ubicacion.py ####### # -*- coding: utf-8 -*- from gluon.dal import Field from gluon import current from gluon.validators import * from gluon.sqlhtml import SQLFORM from applications.welcome.modules import app_function from applications.welcome.modules import app_var from applications.welcome.modules import facebook as Facebook from datetime import time class Models(object): def __init__(self, db, usuario_id, migrate=True): self.request = current.request self.session = current.session self.m_var = app_var.App_var() self.m_function = app_function.App_function() self.db = db self.auth_user_id = usuario_id self.migrate = migrate self.bloqueo = None def define_table(self): self.db.define_table('ubicacion', Field('ciudad_pais', self.db.ciudad_pais), Field('zona', self.db.zona, writable=False, readable=False), Field('tlf', 'string'), Field('fecha_update', 'datetime', default=self.request.now, readable=False, writable=False), Field('auth_user', self.db.auth_user, default=self.auth_user_id, writable=False, readable=False), migrate=self.migrate, # format = lambda row: ('%s') % (row.fprofile['first_name']) ) #requires self.db.ubicacion.ciudad_pais.requires = IS_IN_DB(self.db, 'ciudad_pais.id', self.db.ciudad_pais._format, zero=None) self.db.ubicacion.tlf.requires = [ IS_EMPTY_OR( IS_LENGTH(maxsize=32, minsize=10) ) ] ######## ERROR: ####### Traceback (most recent call last): File "/home/diazluis2007/vps/gluon/restricted.py", line 212, in restricted exec ccode in environment File "/home/diazluis2007/vps/applications/welcome/controllers/ubicacion.py", line 32, in <module> File "/home/diazluis2007/vps/gluon/globals.py", line 194, in <lambda> self._caller = lambda f: f() File "/home/diazluis2007/vps/gluon/tools.py", line 3022, in f return action(*a, **b) File "/home/diazluis2007/vps/applications/welcome/controllers/ubicacion.py", line 22, in update request, db.ciudad_pais.nombre, min_length=2, id_field=db.ciudad_pais.id, help_fields=None) File "/home/diazluis2007/vps/gluon/sqlhtml.py", line 673, in __init__ self.callback() File "/home/diazluis2007/vps/gluon/sqlhtml.py", line 683, in callback rows = self.db(field.like(self.request.vars[self.keyword] + '%')).select(orderby=self.orderby, limitby=self.limitby, distinct=self.distinct, *(self.fields+self.help_field)) AttributeError: 'AutocompleteWidget' object has no attribute 'help_field' ##### gluon\sqlhtml.py linea original 683 rows = self.db(field.like(self.request.vars[self.keyword] + '%')).select(orderby=self.orderby, limitby=self.limitby, distinct=self.distinct, *(self.fields+self.help_field)) change: rows = self.db(field.like(self.request.vars[self.keyword] + '%')).select(orderby=self.orderby, limitby=self.limitby, distinct=self.distinct) to make the change and no error occurs .. I was temporary patch to continue working .. reported to have someone with more knowledge explain me resolve this or the correct way to use the widget I'm using google translator, sorry -- Díaz Luis Analista Programador Facultad de Odontología UC User Linux 532223 -- --- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.