Looks like a bug (SQLCustomType actually has a startswith method, but we
should add an endswith method as well).
Anthony
On Wednesday, February 12, 2014 3:56:53 AM UTC-5, mcamel wrote:
>
> Hi everybody,
>
> I've tried to use SQLCustomType with grids but always get this error
> (2.8.2 version):
>
> <type 'exceptions.AttributeError'> 'SQLCustomType' object has no
> attribute 'endswith'
>
>
> It works fine with SQLTABLE (as exposed below) but not with 'grid' neither
> 'smartgrid'. It also fails with MySQL backend.
>
> is there a way to make this work or may i open a bug ticket?.
>
> Code in a controller (the aim is to store datetime in database as unixtime
> -seconds since epoch-):
>
> def custom():
>
> # the aim is to store datetime in database as unixtime -seconds since
> epoch-
> from gluon.dal import SQLCustomType
> from datetime import datetime
> from calendar import timegm
>
> ut_dt = SQLCustomType(
> type = 'datetime',
> native = 'integer',
> encoder = (lambda dt: timegm(dt.utctimetuple())),
> decoder = (lambda ut: datetime.utcfromtimestamp(ut))
> )
>
> db = DAL('sqlite:memory:')
> db.define_table('event',
> Field('name', 'string'),
> Field('day_and_time', type=ut_dt)
> #~ Field('day_and_time', 'datetime')
> )
>
> db.event.insert(name='Birthday', day_and_time=datetime(2000, 1, 1, 0,
> 0, 0))
> db.event.insert(name='Speaks!', day_and_time=datetime(2002, 2, 2, 10,
> 10, 10))
>
> # 'SQLTABLE' works but 'grid' and 'smartgrid' don't, unless you
> change 'day_and_time' type to datetime
> html = SQLTABLE(db(db.event).select())
> #~ html = SQLFORM.grid(db.event)
> #~ html = SQLFORM.smartgrid(db.event)
>
> return dict(html=html)
>
> My actual workaround is to use 'filter_in' and 'filter_out'.
>
> By the way, there's an error in the manual at Custom Field types section.
> It says:
>
> native is the name of the field as far as the database is concerned
>
>
> where it should say:
>
> native is the type of the field as far as the database is concerned
>
>
>
> Regards!
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.