Q-Logo 我的学习笔记分享

从Django模型实例获取类名、应用名等元信息

在Django 项目中,有时需要通过模型实例获取其对应的类名、应用名等元信息。这些信息可以通过模型实例的_meta 字段来获取到。

示例

Django 项目下进入命令行

python manage.py shell

以blog 应用下的PostPage 模型为例

>>> from blog.models import PostPage

>>> PostPage

<class 'blog.models.PostPage'>

>>> pp = PostPage.objects.first()

# 获取模型实例对应的类

>>> pp.__class__

<class 'blog.models.PostPage'>

# 获取模型实例对应的的app名称

>>> pp._meta.app_label

'blog'

# 获取数据库中对应的表名

>>> pp._meta.db_table

'blog_postpage'

# 获取模型实例对应的类名

>>> pp._meta.object_name

'PostPage'

# 获取模型实例对应的应用和类名

>>> pp._meta.label

'blog.PostPage'