0

我有类型字段的模型:

django.contrib.postgres.fields.JSONField

我希望它总是通过以下方式反序列化:

json.loads(value, parse_int=decimal.Decimal, parse_float=decimal.Decimal)

通过以下方式访问对象时:

MyModel.objects.get(..)

但是我发现很难自定义,因为json.loads必须被上面的行覆盖的行在

psycopg2/_json.py

在内部方法中def _create_json_typecasters

所以我希望必须更改我的模型字段类型,或者可能有一种更简单的方法来告诉 Django 如何准备我的模型?

4

1 回答 1

1

我找到了:

psycopg2.extras.register_default_json(loads=my_loads_func)
psycopg2.extras.register_default_jsonb(loads=my_loads_func)  # for Postgres jsonb

或以更复杂的方式对其进行调整: psycopg2 docs

于 2017-09-19T09:59:12.730 回答