empty float, double, and decimal fields cause grid to fail in render()

15 views
Skip to first unread message

David Manns

unread,
Sep 14, 2025, 8:49:22 AMSep 14
to py4web
The code at line 433... in grid.py needs to be modified for these cases:
class Grid:
represent_by_type = {
"id": lambda value: f"#{value}",
"boolean": lambda value: "☑" if value else "☐" if value is False else "",
"float": lambda value: "%.2f" % value if value != None else "",
"double": lambda value: "%.2f" % value if value != None else "",
"decimal": lambda value: "%.2f" % value if value != None else "",
"reference": reference_represent,
"datetime": datetime_represent,
"date": date_represent,
"time": time_represent,
"list": lambda value: ", ".join(str(x) for x in value) or "",
"password": lambda value: "******",
}



It would be nice if decimal fields defaulted to the precision specified in the Field, but this would be more complex.

Also, both string and reference fields now display 'None' if empty, which was not true in the past. I'm not sure how hard this would be!

Massimo DiPierro

unread,
Sep 14, 2025, 8:01:50 PMSep 14
to py4web
this is now fixed in master, thanks
Reply all
Reply to author
Forward
0 new messages