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 2.7 检测一个网页是否能正常访问的方法

如下所示: #!/bin/env python #coding:utf-8 import requests import sys url = "https://mp.csdn...

python机器学习理论与实战(五)支持向量机

python机器学习理论与实战(五)支持向量机

       做机器学习的一定对支持向量机(support vector machine-SVM)颇为熟悉,因为在深...

构建Python包的五个简单准则简介

创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的...

python3+PyQt5实现自定义分数滑块部件

python3+PyQt5实现自定义分数滑块部件

本文通过Python3+PyQt5实现自定义部件–分数滑块。它既能支持键盘也支持鼠标,使用物理(视口)坐标通过绘制方式显示。 #!/usr/bin/env python3 impo...

用python 实现在不确定行数情况下多行输入方法

如下所示: stopword = '' str = '' for line in iter(raw_input, stopword): str += line + '\n' pri...