db.EventList.endDate.represent = lambda v: v.strftime('%d/%m/%Y') if v else 
''

or 

db.EventList.endDate.represent = lambda v: v and v.strftime('%d/%m/%Y') or 
''

Anthony

On Thursday, April 19, 2012 4:36:43 AM UTC-4, Annet wrote:
>
> I defined a table EventList:
>
> db.define_table('EventList',
>     Field('nodeID','reference 
> Node',default='',notnull=True,ondelete='CASCADE',writable=False,readable=False),
>     Field('summary',length=128,default='',notnull=True),
>     Field('startDate',type='date'),
>     Field('endDate',type='date'),
>     ...
>     migrate=False)
>
> db.EventList.nodeID.requires=[IS_IN_DB(db,'Node.id','%(id)s',zero='select 
> a value')]
> db.EventList.nodeID.represent=lambda nodeID, row: 
> db(db.Organization.nodeID==nodeID).select().first().name
> db.EventList.summary.requires=[IS_LENGTH(128,error_message='length exceeds 
> 128 characters'),IS_NOT_EMPTY()]
> db.EventList.summary.label='Titel * '
> db.EventList.startDate.requires=IS_DATE(format='%Y-%m-%d')
> db.EventList.startDate.represent = lambda v: v.strftime('%d/%m/%Y')
> db.EventList.endDate.requires=IS_EMPTY_OR(IS_DATE(format='%Y-%m-%d'))
> db.EventList.endDate.represent = lambda v: v.strftime('%d/%m/%Y')
>
> When endDate is empty, I get the following error:
>
> Is there a way to 
>
> Traceback (most recent call last):
>   File "/Library/Python/2.5/site-packages/web2py/gluon/restricted.py", line 
> 205, in restricted
>     exec ccode in environment
>   File 
> "/Library/Python/2.5/site-packages/web2py/applications/bootstrap/views/appadmin.html"
>  <http://127.0.0.1:8000/admin/default/edit/bootstrap/views/appadmin.html>, 
> line 180, in <module>
>     <div class="hidden" id="ram_keys">
>   File "/Library/Python/2.5/site-packages/web2py/gluon/sqlhtml.py", line 
> 2278, in __init__
>     r = represent(field,r,record)
>   File "/Library/Python/2.5/site-packages/web2py/gluon/sqlhtml.py", line 46, 
> in represent
>     return f(value)
>   File 
> "/Library/Python/2.5/site-packages/web2py/applications/bootstrap/models/10_table_db.py"
>  <http://127.0.0.1:8000/admin/default/edit/bootstrap/models/10_table_db.py>, 
> line 678, in <lambda>
>     db.EventList.endDate.represent = lambda v: v.strftime('%d/%m/%Y')
> AttributeError: 'NoneType' object has no attribute 'strftime'*
> *
>
>
>
> Is there a way to  solve this problem?
>
>
> Kind regards,
>
> Annet.
>
>
>
>
>
>

Reply via email to