Did you try: db.tablename.fieldname.represent= lambda value: value if value else 'NT"
? web2py book reference http://web2py.com/books/default/chapter/29/06?search=represent#Record-representation Il giorno giovedì 25 ottobre 2012 03:20:29 UTC+2, Joe Barnhart ha scritto: > > I have an application where I expect "None" items in my database and I > want to format them to "NT". It is an app that uses time standards, and if > there is no standard present I expect a "None" in the database which > translates to a field of "No Time" or "NT". > > The problem is that the current implementation of formatter in the Field > class tests the value for "None" and escapes before the formatter is called. > > I can see why this behavior might be expected in a lot of cases, but it > seems extreme to deny the ability to format "None" into a more pleasing > form for those applications that could benefit from it. Here is the > offending part of formatter (located in gluon/dal.py): > > def formatter(self, value): > requires = self.requires > if value is None or not requires: > return value > > If I change the above to: > > def formatter(self, value): > requires = self.requires > if not requires: > return value > > I get my desired behavior, which is to pass "None" to my formatter which > is implemented as part of a custom Validator object. I realize the code > now has to go "further" for cases where the value is None, but is it really > safe to assume nobody will ever want to "format" None into another string? > Not in my case, at least! > > Joe B. > > > --

