## _meta组件
最近经常在代码中看到这个调用,这回来详细了解一下
****
首先明确一点,_meta组件是一个django中任何一个model类的类实例用来自省的api,简单点说,我们有一个叫Accounts的模型,则
~~~py
Accounts._meta
~~~
上面的代码就能用来调用_meta组件了,同时_meta组件是django中的一个名叫Options的类的实例
****
<br>
### 应用
最主要的还是要了解_meta的常用接口,这里只说两个常用的接口
~~~py
"""
返回名为field_name的字段类实例,如果不存在
则抛出FieldDoesNotExist异常
"""
Accounts._meta.get_field(field_name)
"""
返回所有的字段类实例,包括反向指向这个模型且related_name不等于'+'的外键
两个可选参数
include_parents将继承的字段也返回
include_hidden会将所有反向指向当前实例的字段,包括related_name='+'的字段也一并返回
"""
Accounts._meta.get_fields(include_parents=True, include_hidden=False)
~~~
- Django基础
- 模型
- 外键
- Model Manager
- 过滤器函数
- 查询对象
- 字段的细节
- QuerySet的应用
- 视图
- Django类视图
- 权限控制
- Django进阶
- 中间件
- _meta组件
- 信号
- User模块
- prefetch_related和select_related的区别
- 较少被用到的查询对象
- Django的深层设计理念
- Declarative Syntax
- django的migration操作
- 较少用到的Queryset方法的一些坑
- Django配置
- Django环境配置变量
- Django源码阅读
- ORM
- QuerySet源码
- Query源码
- Q&F
- Model和Manager的详解
- Http请求响应
- HttpRequest
- 自建数据结构
- Django开发辅助工具
- Django-rest-framework
- Serializer
- 异步任务调度器Celery
- 数据库补充
- 定义
- 字段
- 事务
- 视图
- 函数
- 联结
- 窗口函数
- GROUPING运算符
- HAVING谓词
- django_bulk_update
- django_bulk_update源码分析
- 项目小功能开发
- Django的一些小细节