_Meta 部分用法 _Meta 部分用法
model.UserInfo._meta.app_label
#获取该类所在app的app名称
model.UserInfo._meta.model_name
#获取该类对应表名(字符串类型)
model.UserInfo._meta.get_field('username')
#获取该类内指定字段信息(对象)
model.UserInfo._meta.fields
#获取该类内所有字段对象
model.UserInfo._meta.get_fields
#获取该类内所有字段信息(对象),包含反向关联的字段
model.UserInfo._meta.many_to_many
#获取该类内多对多字段信息
model.UserInfo._meta.get_field('username').verbose_name
#获取该类内‘username’字段,verbose_name 的值
--------
Book:
list_filter=["state","publish","authors"]
每一个字段相关信息:
字段字符串 : "state"
字段对象 : Book._meta.get_field("state")
字段关联数据:
if---choice类型字段:
字段对象.choices
if---ForeignKey,ManytoMany:
字段对象.rel.to.objects.all()
字段信息封装成类:
class FilterField(object):
def __init__(self,filter_field_name,filter_field_obj):
self.filter_field_name=filter_field_name
self.filter_field_obj=filter_field_obj
def get_data(self):
if isinstance(self.filter_field_obj,ForeignKey) or isinstance(self.filter_field_obj,ManyToManyField):
return self.filter_field_obj.rel.to.objects.all()
elif self.filter_field_obj.choices:
return self.filter_field_obj.choices
else:
pass
state=FilterField("state",state_obj)
obj = models.UserInfo.objects.create(...)
#源码位置
#from django.db.models.options import Options
#from django.db.models.fields.reverse_related import ManyToOneRel
field = obj._meta.related_objects[0]
#拿到当前记录对象所对应的反向关联字段的queryset
print(field[0].limit_choices_to)
#拿到对应的limit_choices_to的字典的数据
print(field[0].related_name)
#拿到related_name属性所对应的值
print(field[0].field_name)
#拿到反向关联字段里的关联本表的字段
print(field[0].field.model._meta.model_name)
#拿到反向关联字段所在类名称
Hbuilder与夜神连接
BUILD 2015: Visual Studio对GitHub的支持
Visual Studio Developer Assistant 3月新功能展示
Visual Studio 发布新版API智能提示
微软发布手机版 Sample Browser。7000多示例代码一手掌握
微软 PowerShell Script Explorer 满血复活,正式发布
IBM的“认知计算时代”
最新 Windows 10 应用项目模板发布
Windows 10四大版本区别详解:家庭版, 专业版, 企业版和教育版
- 最新文章
-
Android学习---SQLite数据库的增删改查和事务(transaction)调用
Android学习---数据库的增删改查(sqlite CRUD)
Android学习---如何创建数据库,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用
Android开发学习---使用XmlPullParser解析xml文件
Android开发学习---使用Intelij idea 13.1 进行android 开发
Android开发学习---template requires a minimum SDK version of at least 7,build target API version of 14
Android开发学习---sharedpreference的使用
Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?
Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
半小时快速了解redis,基于ubuntu 12.04 + redis 2.8.9
- 热门文章
-
本人部分开源项目已关闭发布
商城管理系统(前台+后台+管理员+用户+html+jsp)
商城/超市管理系统(APP+后台PC)
关于报错“More than one fragment with the name [spring_web] was found. This is not legal ...”的解决办法
from pristine store, because no checksum is recorded for this file
虚拟机IP更换后 weblogic无法启动 java.net.BindException: 无法指定被请求的地址
weblogic启动报:java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot
mybatis注解开发-动态SQL
springboot访问路径添加项目名称、tomcat端口号
postman本地访问https
走看看 - 开发者的网上家园
model.UserInfo._meta.app_label
#获取该类所在app的app名称
model.UserInfo._meta.model_name
#获取该类对应表名(字符串类型)
model.UserInfo._meta.get_field('username')
#获取该类内指定字段信息(对象)
model.UserInfo._meta.fields
#获取该类内所有字段对象
model.UserInfo._meta.get_fields
#获取该类内所有字段信息(对象),包含反向关联的字段
model.UserInfo._meta.many_to_many
#获取该类内多对多字段信息
model.UserInfo._meta.get_field('username').verbose_name
#获取该类内‘username’字段,verbose_name 的值
--------
Book:
list_filter=["state","publish","authors"]
每一个字段相关信息:
字段字符串 : "state"
字段对象 : Book._meta.get_field("state")
字段关联数据:
if---choice类型字段:
字段对象.choices
if---ForeignKey,ManytoMany:
字段对象.rel.to.objects.all()
字段信息封装成类:
class FilterField(object):
def __init__(self,filter_field_name,filter_field_obj):
self.filter_field_name=filter_field_name
self.filter_field_obj=filter_field_obj
def get_data(self):
if isinstance(self.filter_field_obj,ForeignKey) or isinstance(self.filter_field_obj,ManyToManyField):
return self.filter_field_obj.rel.to.objects.all()
elif self.filter_field_obj.choices:
return self.filter_field_obj.choices
else:
pass
state=FilterField("state",state_obj)
obj = models.UserInfo.objects.create(...)
#源码位置
#from django.db.models.options import Options
#from django.db.models.fields.reverse_related import ManyToOneRel
field = obj._meta.related_objects[0]
#拿到当前记录对象所对应的反向关联字段的queryset
print(field[0].limit_choices_to)
#拿到对应的limit_choices_to的字典的数据
print(field[0].related_name)
#拿到related_name属性所对应的值
print(field[0].field_name)
#拿到反向关联字段里的关联本表的字段
print(field[0].field.model._meta.model_name)
#拿到反向关联字段所在类名称