django-eav2/eav/decorators.py

27 lines
686 B
Python
Raw Normal View History

'''
Decorators.
This module contains pure wrapper functions used as decorators.
Functions in this module should be simple and not involve complex logic.
'''
def register_eav(**kwargs):
'''
Registers the given model(s) classes and wrapped Model class with
django-eav::
@register_eav
class Author(models.Model):
pass
'''
from . import register
from django.db.models import Model
def _model_eav_wrapper(model_class):
if not issubclass(model_class, Model):
raise ValueError('Wrapped class must subclass Model.')
register(model_class, **kwargs)
return model_class
return _model_eav_wrapper