def asDict(self, includeMeta=False, forStorage=False, strKeys=False):
ret = {}<EOL>for thisField in self.FIELDS:<EOL><INDENT>val = object.__getattribute__(self, thisField)<EOL>if forStorage is True:<EOL><INDENT>val = thisField.toStorage(val)<EOL><DEDENT>if strKeys:<EOL><INDENT>ret[str(thisField)] = val<EOL><DEDENT>else:<EOL><INDENT>ret[thisField] = val<EOL><DEDENT><DEDENT>if includeMeta is True:<EOL><INDENT>ret['<STR_LIT>'] = getattr(self, '<STR_LIT>', None)<EOL><DEDENT>return ret<EOL>
toDict / asDict - Get a dictionary representation of this model.

@param includeMeta - Include metadata in return. For now, this is only pk stored as "_id"

@param convertValueTypes <bool> - default True. If False, fields with fieldValue defined will be converted to that type.
        Use True when saving, etc, as native type is always either str or bytes.

@param strKeys <bool> Default False - If True, just the string value of the field name will be used as the key.
        Otherwise, the IRField itself will be (although represented and indexed by string)

@return - Dictionary reprensetation of this object and all fields