search: Metaclasses are dangerous tools

This commit is contained in:
Keith Mitchell
2012-10-04 15:18:46 -07:00
parent fe7b7ef7e7
commit 3326bb153c

View File

@@ -118,14 +118,15 @@ def field(name=None, cloudsearch_type=str, lucene_type=SAME_AS_CLOUDSEARCH):
class FieldsMeta(type):
def __init__(cls, name, bases, attrs):
type.__init__(cls, name, bases, attrs)
fields = []
for attr in attrs.itervalues():
if hasattr(attr, "field"):
cls._fields.append(attr.field)
fields.append(attr.field)
cls._fields = tuple(fields)
class FieldsBase(object):
__metaclass__ = FieldsMeta
_fields = []
def fields(self):
data = {}