'Applies dynamic defaults from any keys in data that start with
an underscore, used only for new records and only if the respective
field is not populated yet.
@param data: the data dict'

def _dynamic_defaults(self, data):

    for (k, v) in data.items():
        if (k[0] == '_'):
            fn = k[1:]
            if ((fn in self.table.fields) and (fn not in data)):
                data[fn] = v
