Re: [web2py] Re: issue with field name id
Nop! Still there... Maybe I have wrong build : Version 1.96.3 (2011-06-06 13:58:28) Richard On Mon, Jun 6, 2011 at 3:04 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I think I fixed this in trunk. Can you please check it? On Jun 6, 1:03 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Hello, I just try my app with the 1.96.3 and I got a strange error : Traceback (most recent call last): File /version_196-3/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /version_196-3/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /version_196-3/web2py/gluon/tools.py, line 2452, in f return action(*a, **b) File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 654, in verify if form.accepts(request.vars, session): File /version_196-3/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table.id == self.record.id).update(**fields) File /version_196-3/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /version_196-3/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table def _listify(self,fields,update=False): new_fields = [] new_fields_names = [] for name in fields: if not name in self.fields: raise SyntaxError, 'Field %s does not belong to the table' % name new_fields.append((self[name],fields[name])) new_fields_names.append(name) for ofield in self: if not ofield.name in new_fields_names: *I use a old app and a feature for Postgres that Massimo added in the pass that never been documented and i don't think it was official :* * * *MODEL :* *Field('table_id','id'), # My legacy database used the same name as PK and FK so I had to define them in the model like this* *sequence_name='test_activity_activity_id_seq' # Postgres has it on automation rule to create the sequence name base on the PK name and because I where using legacy database PK name I had also to define the sequence name in my model...* * * *Not sure if there is a link.* * * *Thanks* * * *Richard* * * * *
Re: [web2py] Re: issue with field name id
It does the problem on update... My create form work well, deletion also works. Richard On Mon, Jun 6, 2011 at 3:29 PM, Richard Vézina ml.richard.vez...@gmail.comwrote: Nop! Still there... Maybe I have wrong build : Version 1.96.3 (2011-06-06 13:58:28) Richard On Mon, Jun 6, 2011 at 3:04 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I think I fixed this in trunk. Can you please check it? On Jun 6, 1:03 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Hello, I just try my app with the 1.96.3 and I got a strange error : Traceback (most recent call last): File /version_196-3/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /version_196-3/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /version_196-3/web2py/gluon/tools.py, line 2452, in f return action(*a, **b) File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 654, in verify if form.accepts(request.vars, session): File /version_196-3/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table.id == self.record.id).update(**fields) File /version_196-3/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /version_196-3/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table def _listify(self,fields,update=False): new_fields = [] new_fields_names = [] for name in fields: if not name in self.fields: raise SyntaxError, 'Field %s does not belong to the table' % name new_fields.append((self[name],fields[name])) new_fields_names.append(name) for ofield in self: if not ofield.name in new_fields_names: *I use a old app and a feature for Postgres that Massimo added in the pass that never been documented and i don't think it was official :* * * *MODEL :* *Field('table_id','id'), # My legacy database used the same name as PK and FK so I had to define them in the model like this* *sequence_name='test_activity_activity_id_seq' # Postgres has it on automation rule to create the sequence name base on the PK name and because I where using legacy database PK name I had also to define the sequence name in my model...* * * *Not sure if there is a link.* * * *Thanks* * * *Richard* * * * *
Re: [web2py] Re: issue with field name id
Still there : Version 1.96.3 (2011-06-06 14:35:14) Richard On Mon, Jun 6, 2011 at 3:49 PM, Richard Vézina ml.richard.vez...@gmail.comwrote: It does the problem on update... My create form work well, deletion also works. Richard On Mon, Jun 6, 2011 at 3:29 PM, Richard Vézina ml.richard.vez...@gmail.com wrote: Nop! Still there... Maybe I have wrong build : Version 1.96.3 (2011-06-06 13:58:28) Richard On Mon, Jun 6, 2011 at 3:04 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I think I fixed this in trunk. Can you please check it? On Jun 6, 1:03 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Hello, I just try my app with the 1.96.3 and I got a strange error : Traceback (most recent call last): File /version_196-3/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /version_196-3/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /version_196-3/web2py/gluon/tools.py, line 2452, in f return action(*a, **b) File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 654, in verify if form.accepts(request.vars, session): File /version_196-3/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table.id == self.record.id).update(**fields) File /version_196-3/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /version_196-3/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table def _listify(self,fields,update=False): new_fields = [] new_fields_names = [] for name in fields: if not name in self.fields: raise SyntaxError, 'Field %s does not belong to the table' % name new_fields.append((self[name],fields[name])) new_fields_names.append(name) for ofield in self: if not ofield.name in new_fields_names: *I use a old app and a feature for Postgres that Massimo added in the pass that never been documented and i don't think it was official :* * * *MODEL :* *Field('table_id','id'), # My legacy database used the same name as PK and FK so I had to define them in the model like this* *sequence_name='test_activity_activity_id_seq' # Postgres has it on automation rule to create the sequence name base on the PK name and because I where using legacy database PK name I had also to define the sequence name in my model...* * * *Not sure if there is a link.* * * *Thanks* * * *Richard* * * * *
Re: [web2py] Re: issue with field name id
Traceback (most recent call last): File /trunk/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /trunk/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /trunk/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /trunk/web2py/gluon/tools.py, line 2444, in f return action(*a, **b) File /trunk/web2py/applications/sgddms/controllers/test.py, line 461, in update if form.accepts(request.vars, session): File /trunk/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table._id == self.record.id).update(**fields) File /trunk/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /trunk/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table 1198. 1199. 1200. 1201. 1202. 1203. 1204. 1205. 1206. 1207. ret = False else: if record_id: self.vars.id = self.record.id if fields: self.table._db(self.table._id == self.record.id).update(**fields) else: self.vars.id = self.table.insert(**fields) return ret Is what you need? Richard On Mon, Jun 6, 2011 at 4:34 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: please re-send me the traceback sine that line in sqlhtml is not there. On Jun 6, 3:04 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Still there : Version 1.96.3 (2011-06-06 14:35:14) Richard On Mon, Jun 6, 2011 at 3:49 PM, Richard Vézina ml.richard.vez...@gmail.comwrote: It does the problem on update... My create form work well, deletion also works. Richard On Mon, Jun 6, 2011 at 3:29 PM, Richard Vézina ml.richard.vez...@gmail.com wrote: Nop! Still there... Maybe I have wrong build : Version 1.96.3 (2011-06-06 13:58:28) Richard On Mon, Jun 6, 2011 at 3:04 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I think I fixed this in trunk. Can you please check it? On Jun 6, 1:03 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Hello, I just try my app with the 1.96.3 and I got a strange error : Traceback (most recent call last): File /version_196-3/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /version_196-3/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /version_196-3/web2py/gluon/tools.py, line 2452, in f return action(*a, **b) File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 654, in verify if form.accepts(request.vars, session): File /version_196-3/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table.id == self.record.id ).update(**fields) File /version_196-3/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /version_196-3/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table def _listify(self,fields,update=False): new_fields = [] new_fields_names = [] for name in fields: if not name in self.fields: raise SyntaxError, 'Field %s does not belong to the table' % name new_fields.append((self[name],fields[name])) new_fields_names.append(name) for ofield in self: if not ofield.name in new_fields_names: *I use a old app and a feature for Postgres that Massimo added in the pass that never been documented and i don't think it was official :* * * *MODEL :* *Field('table_id','id'), # My legacy database used the same name as PK and FK so I had to define them in the model like this* *sequence_name='test_activity_activity_id_seq' # Postgres has it on automation rule to create the sequence name base on the PK name and because I where using legacy database PK name I had also to define the sequence name in my model...* * * *Not sure if there is a link.* * * *Thanks* * * *Richard* * * * *
Re: [web2py] Re: issue with field name id
GONE! Thanks Massimo! I appreciate. Richard On Mon, Jun 6, 2011 at 5:16 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: Try again please. If this is fix, please close the thread. If not, let'a take this private and report when fixed. On Jun 6, 4:10 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: We progress... Traceback (most recent call last): File /trunk/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /trunk/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /trunk/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /trunk/web2py/gluon/tools.py, line 2444, in f return action(*a, **b) File /trunk/web2py/applications/sgddms/controllers/test.py, line 173, in read request.args[1]) File /trunk/web2py/gluon/tools.py, line 3134, in read formstyle=self.settings.formstyle File /trunk/web2py/gluon/sqlhtml.py, line 793, in __init__ inp = field.represent(default) File /trunk/web2py/gluon/dal.py, line 3634, in list_ref_repr return (refs and ', '.join(str(f(r,ref._id)) for ref in refs) or '') File /trunk/web2py/gluon/dal.py, line 3634, in genexpr return (refs and ', '.join(str(f(r,ref._id)) for ref in refs) or '') File /trunk/web2py/gluon/dal.py, line 3691, in __getattr__ return self[key] File /trunk/web2py/gluon/dal.py, line 3682, in __getitem__ return dict.__getitem__(self, key) KeyError: '_id' Now it submit... But my read function not working... I found this after send the issue... My select function also not functionning... It seems all to be related... Richard On Mon, Jun 6, 2011 at 5:00 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: can you please try once more... P.S. I keep answering posts by my messages do not show up. :-( On Jun 6, 3:43 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Traceback (most recent call last): File /trunk/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /trunk/web2py/applications/sgddms/controllers/test.py, line 1334, in module File /trunk/web2py/gluon/globals.py, line 137, in lambda self._caller = lambda f: f() File /trunk/web2py/gluon/tools.py, line 2444, in f return action(*a, **b) File /trunk/web2py/applications/sgddms/controllers/test.py, line 461, in update if form.accepts(request.vars, session): File /trunk/web2py/gluon/sqlhtml.py, line 1203, in accepts self.table._db(self.table._id == self.record.id ).update(**fields) File /trunk/web2py/gluon/dal.py, line 5369, in update fields = self.db[tablename]._listify(update_fields,update=True) File /trunk/web2py/gluon/dal.py, line 4656, in _listify raise SyntaxError, 'Field %s does not belong to the table' % name SyntaxError: Field id does not belong to the table 1198. 1199. 1200. 1201. 1202. 1203. 1204. 1205. 1206. 1207. ret = False else: if record_id: self.vars.id = self.record.id if fields: self.table._db(self.table._id == self.record.id).update(**fields) else: self.vars.id = self.table.insert(**fields) return ret Is what you need? Richard On Mon, Jun 6, 2011 at 4:34 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: please re-send me the traceback sine that line in sqlhtml is not there. On Jun 6, 3:04 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Still there : Version 1.96.3 (2011-06-06 14:35:14) Richard On Mon, Jun 6, 2011 at 3:49 PM, Richard Vézina ml.richard.vez...@gmail.comwrote: It does the problem on update... My create form work well, deletion also works. Richard On Mon, Jun 6, 2011 at 3:29 PM, Richard Vézina ml.richard.vez...@gmail.com wrote: Nop! Still there... Maybe I have wrong build : Version 1.96.3 (2011-06-06 13:58:28) Richard On Mon, Jun 6, 2011 at 3:04 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I think I fixed this in trunk. Can you please check it? On Jun 6, 1:03 pm, Richard Vézina ml.richard.vez...@gmail.com wrote: Hello, I just try my app with the 1.96.3 and I got a strange error : Traceback (most recent call last): File /version_196-3/web2py/gluon/restricted.py, line 184, in restricted exec ccode in environment File /version_196-3/web2py/applications/sgddms/controllers/test.py, line 1334, in module File