31 lines
852 B
Python
31 lines
852 B
Python
from django.db import models
|
|
from .stackOverflowSnippets import classesInModule
|
|
from django.core import exceptions
|
|
from sys import stderr
|
|
|
|
|
|
def onlyModels(userMadeModels):
|
|
return [model for model in userMadeModels if models.Model in model.__mro__]
|
|
|
|
|
|
def isAbstract(clazz):
|
|
return clazz._meta.abstract
|
|
|
|
|
|
def discardAbstractModels(userMadeModels):
|
|
return [model for model in userMadeModels if not isAbstract(model)]
|
|
|
|
|
|
def registrableModelsInModule(module):
|
|
return discardAbstractModels(onlyModels(classesInModule(module)))
|
|
|
|
|
|
def registerForMe(admin, models_module):
|
|
for model in registrableModelsInModule(models_module):
|
|
try:
|
|
admin.site.register(model)
|
|
except exceptions.ImproperlyConfigured:
|
|
pass
|
|
except BaseException as e:
|
|
print(str(e.__class__)+': '+str(e), file=stderr)
|