Flask SqlAlchemy:为 JSON 类型返回 None 类型插入 'null' 字符串,而不是真正的 NULL
Flask SqlAlchemy: Returning None for JSON type inserts 'null' string, not real NULL
我正在使用 Flask SqlAlchemy。我正在将数据插入 Postgres 数据库,并且有一个 JSON
列类型。当没有数据时,我 return None
的目的是将 NULL 设置到列中。这是建议 .
if someCondition:
json_obj = json.dumps(my_dict)
return json_obj
else:
return None # this inserts a 'null' string incorrectly
# Only this works correctly:
return null() # imported from sqlalchemy,
但我看到这会插入一个 "null"
字符串。获得真正的 NULL 的唯一方法是使用 sqlalchemy.null()
。其他人在这个 中也注意到了同样的事情。以下是两种方法的区别。有人可以确认 None
不应该 不 用于 NULL 插入,以消除混淆吗?
您描述的是默认行为。
JSON
和 JSONB
列类型可以通过将参数 none_as_null
设置为 True
来初始化。该参数默认为False
.
documentation供参考。
我正在使用 Flask SqlAlchemy。我正在将数据插入 Postgres 数据库,并且有一个 JSON
列类型。当没有数据时,我 return None
的目的是将 NULL 设置到列中。这是建议
if someCondition:
json_obj = json.dumps(my_dict)
return json_obj
else:
return None # this inserts a 'null' string incorrectly
# Only this works correctly:
return null() # imported from sqlalchemy,
但我看到这会插入一个 "null"
字符串。获得真正的 NULL 的唯一方法是使用 sqlalchemy.null()
。其他人在这个 None
不应该 不 用于 NULL 插入,以消除混淆吗?
您描述的是默认行为。
JSON
和 JSONB
列类型可以通过将参数 none_as_null
设置为 True
来初始化。该参数默认为False
.
documentation供参考。