Django获取应用下的所有models的例子

yipeiwu_com6年前Python基础

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的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python程序设计入门(3)数组的使用

1、Python的数组可分为三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其...

在Python中定义一个常量的方法

大家都知道,网络上流行这么一句话 如果一个程序,JAVA需要写1000行,那PHP要写500行,而Python只要写200行就可以拉~~ 那么在Python中,如何用代码去实现一个常量呢...

Python自定义scrapy中间模块避免重复采集的方法

本文实例讲述了Python自定义scrapy中间模块避免重复采集的方法。分享给大家供大家参考。具体如下: from scrapy import log from scrapy.htt...

详解10个可以快速用Python进行数据分析的小技巧

详解10个可以快速用Python进行数据分析的小技巧

一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。 一个小小的快捷方式或附加组件有时真是天赐之物,并且可以成为真正的生产...

Django 路由系统URLconf的使用

Django 路由系统URLconf的使用

URLconf是什么? URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的view函数之间的映射表;你就是以这种方式告诉Django,...