Skip to content

Commit

Permalink
Look at object parents when mapping to column families
Browse files Browse the repository at this point in the history
Using self.cls.__dict__ only looks at the members of the class and
not any parents.  Better to use inspect.getmembers() for this
purpose and get the full hierarchy
  • Loading branch information
katzj committed Dec 5, 2012
1 parent 79bb07d commit 335995e
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion pycassa/columnfamilymap.py
Expand Up @@ -14,6 +14,7 @@
from pycassa.types import CassandraType from pycassa.types import CassandraType
from pycassa.columnfamily import ColumnFamily from pycassa.columnfamily import ColumnFamily
import pycassa.util as util import pycassa.util as util
import inspect


__all__ = ['ColumnFamilyMap'] __all__ = ['ColumnFamilyMap']


Expand Down Expand Up @@ -51,7 +52,7 @@ def __init__(self, cls, pool, column_family, raw_columns=False, **kwargs):
self.dict_class = util.OrderedDict self.dict_class = util.OrderedDict
self.defaults = {} self.defaults = {}
self.fields = [] self.fields = []
for name, val_type in self.cls.__dict__.iteritems(): for name, val_type in inspect.getmembers(self.cls):
if name != 'key' and isinstance(val_type, CassandraType): if name != 'key' and isinstance(val_type, CassandraType):
self.fields.append(name) self.fields.append(name)
self.column_validators[name] = val_type self.column_validators[name] = val_type
Expand Down

0 comments on commit 335995e

Please sign in to comment.