Store instances of SearchModel by their full_name in the class registry

This commit is contained in:
Roberto Rosario
2013-01-04 07:43:15 -04:00
parent f7f6dfc441
commit 2f09c60d43

View File

@@ -20,13 +20,20 @@ class SearchModel(object):
def get_all(cls):
return cls.registry.values()
@classmethod
def get(cls, full_name):
return cls.registry[full_name]
def __init__(self, app_label, model_name, label=None):
self.app_label = app_label
self.model_name = model_name
self.search_fields = {}
self.model = get_model(app_label, model_name)
self.label = label or self.model._meta.verbose_name
self.__class__.registry[id(self)] = self
self.__class__.registry[self.get_full_name()] = self
def get_full_name(self):
return '%s.%s' % (self.app_label, self.model_name)
def get_all_search_fields(self):
return self.search_fields.values()