将JSOB对象插入Postgres数据库

时间:2019-04-11 08:50:54

标签: python flask-sqlalchemy

我正在尝试在Postgres数据库中插入许多JSON对象。没有引发错误,但数据库中的字段保持空白。

我尝试了很多事情。使用python字典,使用json.dumps,另存为字符串,并且所有结果均返回空白。字段test_record_parse_data,test_parse_data,test_record_mappings和test_mappings是来自HTTP POST请求的键值对。键是字段的名称,值是值。下面是我的当前状态的代码。

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字段始终成功写入数据库。

0 个答案:

没有答案