@classmethod
def from_row_dict(cls, db, row):
    """
        Introduces a new entity object from a full SQL row result from
        the entity's tables. (i.e., `row` is a dictionary mapping
        column to value.) Note that the column names must be of the
        form '{entity_name}_{column_name}'. For example, in the `game`
        table, the `gsis_id` column must be named `game_gsis_id` in
        `row`.
        """
    obj = cls(db)
    seta = setattr
    prefix = cls._sql_primary_table() + '_'
    slice_from = len(prefix)
    for k in row:
        if k.startswith(prefix):
            seta(obj, k[slice_from:], row[k])
    return obj
