diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py
index 366fe634..aef106ff 100644
--- a/gluon/sqlhtml.py
+++ b/gluon/sqlhtml.py
@@ -1346,8 +1346,14 @@ class SQLFORM(FORM):
# will only use writable or readable fields, unless forced to ignore
if fields is None:
if not readonly:
- fields = [f.name for f in table if (ignore_rw or f.writable or f.readable) and (not f.compute or record)]
+ if not record:
+ # create form should only show writable fields
+ fields = [f.name for f in table if (ignore_rw or f.writable) and not f.compute]
+ else:
+ # update form should also show readable fields and computed fields (but in reaodnly mode)
+ fields = [f.name for f in table if (ignore_rw or f.writable or f.readable)]
else:
+ # read only form should show all readable fields
fields = [f.name for f in table if (ignore_rw or f.readable)]
self.fields = fields