I think that the problem is this:
db.comment.content_id.default = db.content.id

You can't set a default value that is a Field (as db.sometable.somefield). 
Seeing the code it may be a bug: you probably meant 
db.comment.content_id.default = content.id <http://db.content.id>
Can you try to remove that and see if it works ?

On Monday, December 10, 2012 10:59:10 AM UTC+1, sasogeek wrote:
>
> I stumbled upon this error while trying to submit a form in my app. here's 
> the code related to the database table "content"
>
> ###############################
> # # # # # # #     Model       # # # # # #
> ###############################
>
> db.define_table('content',
>    Field('title', unique=True),
>    Field('file', 'upload'),
>    Field('description','text'),
>    Field('time', 'datetime', update=request.now),
>    Field('message', 'text'),
>    format = '%(title)s',)
>
> db.define_table('comment',
>    Field('content_id', 'reference content'),
>    Field('author'),
>    Field('body', 'text'))
>
>
> ##############################
> # # # # # #    Controller    # # # # # #
> ##############################
> def show():
>     content = db.content(request.args(0)) or redirect(URL('index'))
>     db.comment.content_id.default = db.content.id
>     form = crud.create(db.comment,
>                next=URL(args=content.id))
>     form.custom.widget.author = auth.user.first_name +' '+ 
> auth.user.last_name
>     comments = db(db.comment.content_id==db.content.id).select()
>     return dict(content=content, comments=comments, form=form)
>
>
> When I submit the form, i get a ticket with the error in the title of this 
> post. and the traceback shows the following...
>
> Traceback (most recent call last):
>   File "/usr/lib/pymodules/python2.7/gluon/restricted.py", line 204, in 
> restricted
>     exec ccode in environment
>   File "/home/sasogeek/web2py/applications/images/controllers/default.py" 
> <http://127.0.0.1:8000/admin/default/edit/images/controllers/default.py>, 
> line 82, in <module>
>   File "/usr/lib/pymodules/python2.7/gluon/globals.py", line 172, in <lambda>
>     self._caller = lambda f: f()
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 2533, in f
>     return action(*a, **b)
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 2533, in f
>     return action(*a, **b)
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 2533, in f
>     return action(*a, **b)
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 2533, in f
>     return action(*a, **b)
>   File "/home/sasogeek/web2py/applications/images/controllers/default.py" 
> <http://127.0.0.1:8000/admin/default/edit/images/controllers/default.py>, 
> line 31, in show
>     next=URL('show', args=content.id))
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 3126, in create
>     formname=formname,
>   File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 3069, in update
>     detect_record_change = self.settings.detect_record_change):
>   File "/usr/lib/pymodules/python2.7/gluon/sqlhtml.py", line 1267, in accepts
>     self.vars.id = self.table.insert(**fields)
>   File "/usr/lib/pymodules/python2.7/gluon/dal.py", line 5597, in insert
>     return self._db._adapter.insert(self,self._listify(fields))
>   File "/usr/lib/pymodules/python2.7/gluon/dal.py", line 914, in insert
>     raise e
> OperationalError: no such column: content.id
>
>
> help...
>
>

-- 



Reply via email to