mirror of
https://github.com/jazzband/django-categories.git
synced 2026-03-16 22:30:24 +00:00
Version 1.2.3: Added a new way to register models manually
This commit is contained in:
parent
a4c9e70950
commit
b75f11213c
2 changed files with 13 additions and 9 deletions
|
|
@ -1,7 +1,7 @@
|
|||
__version_info__ = {
|
||||
'major': 1,
|
||||
'minor': 2,
|
||||
'micro': 2,
|
||||
'micro': 3,
|
||||
'releaselevel': 'final',
|
||||
'serial': 1
|
||||
}
|
||||
|
|
@ -19,11 +19,14 @@ def get_version(short=False):
|
|||
__version__ = get_version()
|
||||
|
||||
|
||||
try:
|
||||
def register():
|
||||
from categories import settings
|
||||
from categories.registration import (_process_registry, register_fk,
|
||||
register_m2m)
|
||||
_process_registry(settings.FK_REGISTRY, register_fk)
|
||||
_process_registry(settings.M2M_REGISTRY, register_m2m)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
register()
|
||||
except Exception as e:
|
||||
print e
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ These functions handle the adding of fields to other models
|
|||
from django.db.models import FieldDoesNotExist
|
||||
import fields
|
||||
from settings import FIELD_REGISTRY, MODEL_REGISTRY
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
def register_m2m(model, field_name='categories', extra_params={}):
|
||||
|
|
@ -42,7 +43,7 @@ def _process_registry(registry, call_func):
|
|||
for key, value in registry.items():
|
||||
model = get_model(*key.split('.'))
|
||||
if model is None:
|
||||
raise ImproperlyConfigured(_('%(key) is not a model') % {'key' : key})
|
||||
raise ImproperlyConfigured(_('%(key)s is not a model') % {'key': key})
|
||||
if isinstance(value, (tuple, list)):
|
||||
for item in value:
|
||||
if isinstance(item, basestring):
|
||||
|
|
@ -51,13 +52,13 @@ def _process_registry(registry, call_func):
|
|||
field_name = item.pop('name')
|
||||
call_func(model, field_name, extra_params=item)
|
||||
else:
|
||||
raise ImproperlyConfigured(_("%(settings) doesn't recognize the value of %(key)") %
|
||||
{'settings' : 'CATEGORY_SETTINGS', 'key' : key})
|
||||
raise ImproperlyConfigured(_("%(settings)s doesn't recognize the value of %(key)s") %
|
||||
{'settings': 'CATEGORY_SETTINGS', 'key': key})
|
||||
elif isinstance(value, basestring):
|
||||
call_func(model, value)
|
||||
elif isinstance(value, dict):
|
||||
field_name = value.pop('name')
|
||||
call_func(model, field_name, extra_params=value)
|
||||
else:
|
||||
raise ImproperlyConfigured(_("%(settings) doesn't recognize the value of %(key)") %
|
||||
{'settings' : 'CATEGORY_SETTINGS', 'key' : key})
|
||||
raise ImproperlyConfigured(_("%(settings)s doesn't recognize the value of %(key)s") %
|
||||
{'settings': 'CATEGORY_SETTINGS', 'key': key})
|
||||
|
|
|
|||
Loading…
Reference in a new issue