我用field_object = MyModel._meta.get_field(field_name)得到了一个模型场对象.如何获取字段对象的值(内容)?

推荐答案

使用value_from_object:

field_name = 'name'
obj = MyModel.objects.first()
field_object = MyModel._meta.get_field(field_name)
field_value = field_object.value_from_object(obj)

getattr相同:

field_name = 'name'
obj = MyModel.objects.first()
field_object = MyModel._meta.get_field(field_name)
field_value = getattr(obj, field_object.attname)

或者,如果您知道字段名,只想使用字段名获取值,则无需首先检索字段对象:

field_name = 'name'
obj = MyModel.objects.first()
field_value = getattr(obj, field_name)

Django相关问答推荐

自定义公钥打破Django管理内联逻辑

Django www.example.com从常量列表中删除值

Django动态页面.为什么我的代码不工作?

""关系"core_Boundary_summary的列user_id中的空值"违反了非空约束|失败行包含(2,title,string,null)

使用OuterRef过滤器获取Django记录的最大值

如何在 Django 测试中发送带有图像字段查询参数的 POST 请求

Django 相当于子查询

NoneType对象没有属性保存Django

django - 让用户登录到测试客户端

多租户 Django 应用程序:根据请求更改数据库连接?

直接在模型类上使用 Django 管理器与静态方法

将 **kwargs 传递给 Django 表单

Django:将原始html(来自数据库)显示为html,而不是呈现

Python 和 Django OperationalError (2006, 'MySQL server has gone away')

Django - 了解 X-Sendfile

Django:DoesNotExist从何而来?

为什么我的 Django 单元测试不知道安装了 MessageMiddleware?

django 应用基于条件的样式类

django.urls.path中name参数的作用是什么?

APIView 类和视图集类之间的区别?