django--_meta方法

Posted dugd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django--_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 的值
 

 

 

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)
#拿到反向关联字段所在类名称
 

 

以上是关于django--_meta方法的主要内容,如果未能解决你的问题,请参考以下文章

django _meta方法

Django 'NoneType' 对象没有属性 '_meta'

django-Model _meta API

Django登录AttributeError:'AnonymousUser'对象没有属性'_meta'

django中Model _meta API

Django Model._meta API