Django获取应用下的所有models
from django.apps import apps apps.get_models() # 获取所有的models,包含Django自带的 apps.get_app_config('blog') # 获取blog的配置 # <BlogConfig: blog> apps.get_app_config('blog').models # OrderedDict([('tag', <class 'app_blog.blog.models.Tag'>), ('category', <class 'app_blog.blog.models.Category'>)]) apps.get_app_config('blog').get_models() # 获取所有的models # <generator object AppConfig.get_models at 0x00000263BC3A2C78> list(apps.get_app_config('blog').get_models()) # 遍历所有的models # [<class 'app_blog.blog.models.Tag'>, <class 'app_blog.blog.models.Category'>, ...] apps.get_app_config('blog').get_model('Article')._meta.verbose_name # 获取models的名称 # '文章'
admin下实现遍历注册model
all_models = apps.get_app_config('blog').get_models() for model in all_models: try: admin.site.register(model) except: pass