使用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" 就介绍到此。希望多多支持编程宝库

如何使用tesserocr和pytesseract模块:本文讲解"怎么使用tesserocr和pytesseract模块",用于解决相关问题。1.tesserocr的使用#从文件识别图像字符In [7]: tesserocr.file_to ...