从Django JSONField获取值

从Django JSONField获取值,django,Django,我试图从模型中的JSONField中检索值,但出现了一个错误: “Api”对象没有属性“openapi\u规范\u信息\u标题” class Api(models.Model): ''' Model to hold infomation on the API ''' # JSONB field to hold the OpenAPI spec openapi_spec = JSONField() # Derive product name from the OpenAPI spec, sin

我试图从模型中的JSONField中检索值,但出现了一个错误:

“Api”对象没有属性“openapi\u规范\u信息\u标题”

class Api(models.Model):
''' Model to hold infomation on the API '''

# JSONB field to hold the OpenAPI spec
openapi_spec = JSONField()

# Derive product name from the OpenAPI spec, since it's a mandatory field
def _get_product_name(self):
    return self.openapi_spec__info__title
product_name = property(_get_product_name)
根据Django文档,过滤JSON数据的正确方法是“\uuuuuu”,但可能不是访问JSON数据的正确方法

{"info": {"title": "Test API", "version": "1.0.0"}}

无论您处理的是JSON字段还是传统的跨表联接,双下划线语法仅在过滤器和排序等方面有效

该字段为您提供一本词典。从那时起,您就使用普通的字典语法

self.openapi_spec['info']['title']

无论您处理的是JSON字段还是传统的跨表联接,双下划线语法仅在过滤器和排序等方面有效

该字段为您提供一本词典。从那时起,您就使用普通的字典语法

self.openapi_spec['info']['title']

太棒了,谢谢!关于我唯一没试过的东西:-太棒了,谢谢!关于我唯一没试过的事:-