Django JSONField-获取源文本

Django JSONField-获取源文本,django,postgresql,django-models,django-orm,Django,Postgresql,Django Models,Django Orm,使用JSONField时,读取值时,内容会自动从JSON解码为python对象。我有一个将字符串编码回JSON以嵌入模板的用例。有没有办法只从对象中获取原始JSON字符串?Django在引擎盖下使用psycopg2.extras.JSON。您需要将字段强制转换为文本,才能将原始文本转换为纯文本[1]。使用django的Cast函数[2]对查询集进行注释: from django.db.models.functions import Cast from django.db.models impor

使用JSONField时,读取值时,内容会自动从JSON解码为python对象。我有一个将字符串编码回JSON以嵌入模板的用例。有没有办法只从对象中获取原始JSON字符串?

Django在引擎盖下使用
psycopg2.extras.JSON
。您需要将字段强制转换为文本,才能将原始文本转换为纯文本[1]。使用django的
Cast
函数[2]对查询集进行注释:

from django.db.models.functions import Cast
from django.db.models import TextField

models_with_json_text = Model.objects.annotate(
    json_as_text=Cast("json_field_name", TextField())
)
[1]


[2]

您可以使用
json.dumps
将Python对象转换为json blob。@WillemVanOnsem-我知道。这不是我要问的。我想要的不是
json.dumps(json.loads(json_string))
而是
json_string
我希望得到类似
json_field\u name\u text的东西,但我希望我必须编写自己的
models.field
。这是一个惊喜!非常感谢。