python - 将 JSOB 对象插入 Postgres 数据库
问题描述
我正在尝试将一些 JSON 对象插入 Postgres 数据库。不会引发错误,但数据库中的字段保持空白。
我已经尝试了很多东西。使用python dicts,使用json.dumps,保存为字符串并且全部返回空白。字段 test_record_parse_data、test_parse_data、test_record_mappings 和 test_mappings 是来自 http POST 请求的键值对。key 是字段的名称,value 是值。以下是我当前状态的代码。
from sqlalchemy.dialects.postgresql import JSON
import json
class TestConfiguration(db.Model):
id = db.Column(db.Integer, primary_key=True)
part_number = db.Column(db.String(30))
test_record_parse_data = db.Column(JSON)
test_parse_data = db.Column(JSON)
test_record_mappings = db.Column(JSON)
test_mappings = db.Column(JSON)
def __init__(self, test_record_parsing_data, test_parsing_data,
test_record_mappings, test_mappings, part_number=None):
"""
:param part_number:
:param process:
:param parser:
:param version:
:return: None
"""
# Configuration identification
self.part_number = part_number if part_number is not None else None
# Parsing configuration data
self.test_record_parsing_data = json.dumps(test_record_parsing_data)
self.test_parsing_data = json.dumps(test_parsing_data)
# Mapping data to database
self.test_record_mapping = json.dumps(test_record_mappings)
self.test_mapping = json.dumps(test_mappings)
db.session.add(self)
db.session.commit()
我希望在 test_record_parse_data、test_parse_data、test_record_mappings 和 test_mappings 字段中看到 python dict 表示,但它们仍然是空白的。part_number 字段总是成功写入数据库。
解决方案
推荐阅读
- grouping - DAX grouping by a measure result
- symfony - Symfony 大规模水合从一个存储库到另一个存储库
- r - 将 R 中数据框中的值用于 colnames et rownames
- db2 - 删除 CLPPlus 中数据行之间的空白行
- gitlab - 在 gitlab ci 中获取分支名称
- mongodb - MongoConnector mapper_parsing_exception with elasticsearch from Mongodb
- python - 如何使 readline 在 python 子进程中工作?
- selenium - 按钮单击在 selenium webdriver 中不起作用
- javascript - RXJS redux observable perform multiple api calls
- ios - 在协调器模式中重用视图控制器