def __init__(self, cls, pool, column_family, raw_columns=False, **kwargs): """ Instances of `cls` are returned from :meth:`get()`, :meth:`multiget()`, :meth:`get_range()` and :meth:`get_indexed_slices()`. `pool` is a :class:`~pycassa.pool.ConnectionPool` that will be used in the same way a :class:`~.ColumnFamily` uses one. `column_family` is the name of a column family to tie to `cls`. If `raw_columns` is ``True``, all columns will be fetched into the `raw_columns` field in requests. """ ColumnFamily.__init__(self, pool, column_family, **kwargs) self.cls = cls self.autopack_names = False self.raw_columns = raw_columns self.dict_class = util.OrderedDict self.defaults = {} self.fields = [] for name, val_type in inspect.getmembers(self.cls): if name != 'key' and isinstance(val_type, CassandraType): self.fields.append(name) self.column_validators[name] = val_type self.defaults[name] = val_type.default if hasattr(self.cls, 'key') and isinstance(self.cls.key, CassandraType): self.key_validation_class = self.cls.key
def __init__(self, cls, pool, column_family, columns=None, raw_columns=False, **kwargs): """ Maps an existing class to a column family. Class fields become columns, and instances of that class can be represented as rows in standard column families or super columns in super column families. Instances of `cls` are returned from :meth:`get()`, :meth:`multiget()`, :meth:`get_range()` and :meth:`get_indexed_slices()`. `pool` is a :class:`~pycassa.pool.ConnectionPool` that will be used in the same way a :class:ColumnFamily uses one. `column_family` is the name of a column family to tie to `cls`. If `raw_columns` is ``True``, all columns will be fetched into the `raw_columns` field in requests. """ ColumnFamily.__init__(self, pool, column_family, **kwargs) self.cls = cls self.autopack_names = False self.raw_columns = raw_columns self.dict_class = util.OrderedDict self.defaults = {} self.fields = [] for name, val_type in self.cls.__dict__.iteritems(): if isinstance(val_type, CassandraType): self.fields.append(name) self.column_validators[name] = val_type self.defaults[name] = val_type.default
def __init__(self, cls, pool, column_family, columns=None, raw_columns=False, **kwargs): """ Maps an existing class to a column family. Class fields become columns, and instances of that class can be represented as rows in standard column families or super columns in super column families. Instances of `cls` are returned from :meth:`get()`, :meth:`multiget()`, :meth:`get_range()` and :meth:`get_indexed_slices()`. `pool` is a :class:`~pycassa.pool.ConnectionPool` that will be used in the same way a :class:`~.ColumnFamily` uses one. `column_family` is the name of a column family to tie to `cls`. If `raw_columns` is ``True``, all columns will be fetched into the `raw_columns` field in requests. """ ColumnFamily.__init__(self, pool, column_family, **kwargs) self.cls = cls self.autopack_names = False self.raw_columns = raw_columns self.dict_class = util.OrderedDict self.defaults = {} self.fields = [] for name, val_type in self.cls.__dict__.iteritems(): if isinstance(val_type, CassandraType): self.fields.append(name) self.column_validators[name] = val_type self.defaults[name] = val_type.default