Django models

Django获取应用下的所有models

from django.apps import apps
  
apps.get_models() # 获取所有的models,包含Django自带的
  
apps.get_app_config('blog') # 获取blog的配置
# 
  
apps.get_app_config('blog').models
# OrderedDict([('tag', ), ('category', )])
  
  
apps.get_app_config('blog').get_models() # 获取所有的models
# 
  
list(apps.get_app_config('blog').get_models()) # 遍历所有的models
# [, , ...]
  
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

  

  

你可能感兴趣的:(Django models)