有关_meta内容(持续更新)


假设在models里创建了一个类:UserInfo

 

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

  

原文地址:https://www.cnblogs.com/wangbaihan/p/8052604.html