基类:
class Schema(object):
......
def filter(self, obj):
filtered = {}
for key, value in six.iteritems(obj):
if self._filter_func(self.properties, key):
filtered[key] = value
......
@staticmethod
def _filter_func(properties, key):
return key in properties
其中一个重写了该方法的子类:
class PermissiveSchema(Schema):
@staticmethod
def _filter_func(properties, key):
return True
感觉上完全不需要改成 staticmethod
反正最终还是需要传类的属性进去