diff --git a/models/f_room.py b/models/f_room.py
index 8b985dc0956a3833c25289715543cd8d0f0538fa..3b4e794a31fb98dea473017087c0a7fca9486768 100644
--- a/models/f_room.py
+++ b/models/f_room.py
@@ -3,14 +3,14 @@ from hashlib import blake2b
 
 db.define_table(
     'Room',
-    Field('code', 'string', notnull=True, requires=IS_NOT_EMPTY(), writable=False, unique=True),
-    Field('hashcode', 'string', notnull=True, requires=IS_NOT_EMPTY(), writable=False),
-    Field('player_max', 'integer', notnull=True, requires=IS_NOT_EMPTY()),
-    Field('creation', 'datetime', default=request.now, notnull=True, requires=IS_NOT_EMPTY()),
-    Field('heartbeat', 'datetime', default=request.now, notnull=True, requires=IS_NOT_EMPTY())
+    Field('code', 'string', notnull=True, unique=True),
+    Field('hashcode', 'string', notnull=True),
+    Field('player_max', 'integer', notnull=True),
+    Field('creation', 'datetime', default=request.now, notnull=True),
+    Field('heartbeat', 'datetime', default=request.now, notnull=True)
 )
 
-def generateRoomCode(_record):
+def generateRoomCode():
     code = None
 
     while not code or db(db.Room.code == code).count() > 0:
@@ -21,14 +21,11 @@ def generateRoomCode(_record):
 
     return(code)
 
-def generateHashCode(_record):
-    code = ""
+def generateHashCode():
     digest = blake2b(digest_size=32)
-    digest.update(_record.code.encode("utf-8"))
-    digest.update(str(_record.player_max).encode("utf-8"))
-    digest.update(str(_record.creation).encode("utf-8"))
+    digest.update(str(request.now).encode("utf-8"))
     digest.update(str(random.random()).encode("utf-8"))
     return (digest.hexdigest())
 
-db.Room.code.compute = generateRoomCode
-db.Room.hashcode.compute = generateHashCode
+db.Room.code.default = generateRoomCode
+db.Room.hashcode.default = generateHashCode