随笔 - 34  文章 - 0  评论 - 0  阅读 - 5666

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


参考:https://www.cnblogs.com/duGD/p/11306179.html
posted on   ldx-wsj  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示