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

 

posted @ 2019-08-05 22:50  adiugy  阅读(813)  评论(0编辑  收藏  举报