Cannot reproduce. Which web2py version?

On Sunday, 19 August 2012 15:04:58 UTC-5, Simon Carr wrote:
>
> I am trying to use a datetime type in my database. I have the following 
> table definition.
>
> db.define_table(
> 'post',
> Field('author',db.auth_user),
> Field('PostDate','datetime',requires=IS_DATETIME(format='%d/%m/%Y 
> %H:%M:%S'),default=request.now),
> Field('title',requires=IS_NOT_EMPTY()),
> Field('body','text',requires=IS_NOT_EMPTY()),
> format='%(title)s')
>
> When I try to fill in a form, I get the correct calendar format but when I 
> submit the form I get an error (See below). If I use just the date format 
> all is well and I can create new posts. What am I doing wrong?
>
> Simon
>
>
>
> TRACEBACK
>  
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
> 20.
> 21.
> 22.
> 23.
> 24.
> 25.
> 26.
>
> Traceback (most recent call last):
>
>   File "/home/simon/web2py/gluon/restricted.py", line 205, in restricted
>
>     exec ccode in environment
>   File "/home/simon/web2py/applications/blog/controllers/post.py" 
> <http://localhost:8000/admin/default/edit/blog/controllers/post.py>, line 18, 
> in <module>
>
>   File "/home/simon/web2py/gluon/globals.py", line 173, in <lambda>
>
>     self._caller = lambda f: f()
>
>   File "/home/simon/web2py/gluon/tools.py", line 2575, in f
>
>     return action(*a, **b)
>
>   File "/home/simon/web2py/applications/blog/controllers/post.py" 
> <http://localhost:8000/admin/default/edit/blog/controllers/post.py>, line 12, 
> in new_post
>
>     posts = get_posts()
>   File "/home/simon/web2py/applications/blog/controllers/post.py" 
> <http://localhost:8000/admin/default/edit/blog/controllers/post.py>, line 16, 
> in get_posts
>
>     return db().select(db.post.ALL)
>
>   File "/home/simon/web2py/gluon/dal.py", line 7578, in select
>
>     return adapter.select(self.query,fields,attributes)
>
>   File "/home/simon/web2py/gluon/dal.py", line 1315, in select
>
>     rows = response(sql)
>
>   File "/home/simon/web2py/gluon/dal.py", line 1305, in response
>
>     self.execute(sql)
>
>   File "/home/simon/web2py/gluon/dal.py", line 1392, in execute
>
>     return self.log_execute(*a, **b)
>
>   File "/home/simon/web2py/gluon/dal.py", line 1386, in log_execute
>
>     ret = self.cursor.execute(*a, **b)
>
>   File "/usr/lib/python2.7/sqlite3/dbapi2.py", line 63, in convert_date
>
>     return datetime.date(*map(int, val.split("-")))
> ValueError: invalid literal for int() with base 10: '19 21:00:28'
>
>  IN FILE: /HOME/SIMON/WEB2PY/APPLICATIONS/BLOG/CONTROLLERS/POST.PY 
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
>
> # coding: utf8
> # try something like
> def index(): 
>
>     posts = db().select(db.post.ALL)
>
>     return dict(title="Blog Posts",posts=posts)
>
> @auth.requires_login()
> def new_post():
>
>     form = SQLFORM 
> <http://localhost:8000/examples/global/vars/SQLFORM>(db.post)
>
>     if form.process().accepted:
>
>         response <http://localhost:8000/examples/global/vars/response>.flash 
> = "New post saved"
>
>     posts = get_posts()
>     return dict(posts=posts,form=form)
>
> def get_posts():
>     return db().select(db.post.ALL)
>
> response <http://localhost:8000/examples/global/vars/response>._vars=response 
> <http://localhost:8000/examples/global/vars/response>._caller(new_post)
>
>

-- 



Reply via email to