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 requests库用法实例详解

本文实例讲述了Python requests库用法。分享给大家供大家参考,具体如下: requests是Python中一个第三方库,基于 urllib,采用 Apache2 Licens...

Python超越函数积分运算以及绘图实现代码

Python超越函数积分运算以及绘图实现代码

编译环境:ubuntu17.04 Python3.5 所需库:numpy、scipy、matplotlib 下面是理想平面的辐射强度计算(课程大作业~~~) 1、超越函数积分运算 d...

Python决策树之基于信息增益的特征选择示例

Python决策树之基于信息增益的特征选择示例

本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下: 基于信息增益的特征选取是一种广泛使用在决策树(decision tree)分类算法中用到的特征...

Ubuntu下安装PyV8

这几天需要在使用PyV8来进行python与javascript的交互。之前在window下安装过,直接使用的exe安装的,也没有遇到什么问题。 结果这次在Ubuntu安装遇到了不少坑-...

对Python _取log的几种方式小结

1. 使用.logfile 方法 #!/usr/bin/env python import pexpect import sys host="146.11.85.xxx" user=...