1. 程式人生 > 程式設計 >Django獲取應用下的所有models的例子

Django獲取應用下的所有models的例子

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

以上這篇Django獲取應用下的所有models的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。