Skip to content
Snippets Groups Projects

Add metaclass for model versioning

Merged Tom Teichler requested to merge fix-model-versioning into master
+ 10
2
@@ -17,8 +17,16 @@ from material.base import Layout, LayoutNode
from rules.contrib.admin import ObjectPermissionsModelAdmin
@reversion.register
class ExtensibleModel(models.Model):
class ExtensibleModelVersioning(type):
"""Meta class to add django-reversion decorator."""
def __new__(mcls, name, bases, attrs):
if not mcls["Meta"].abstract:
return reversion.register(super().__new__, (name, bases, attrs))
else:
return
class ExtensibleModel(models.Model, metaclass=ExtensibleModelVersioning):
"""Base model for all objects in AlekSIS apps.
This base model ensures all objects in AlekSIS apps fulfill the
Loading