Insert JSOB object into Postgres database

血红的双手。 提交于 2019-12-08 13:15:20

问题


I'm trying to insert an number of JSON objects in to a Postgres database. No error is raised but the fields in the database remain blank.

I have tried many of things. using python dicts, using json.dumps, saving as a string and all return blank. The fields test_record_parse_data, test_parse_data, test_record_mappings and test_mappings are key value pairs from the http POST request. key being the name of the field and value being the value. Below is my code in its current state.

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()

I'm expecting to see a python dict representation in the fields test_record_parse_data, test_parse_data, test_record_mappings and test_mappings but they remain blank. part_number field is always successfully written the database.

来源:https://stackoverflow.com/questions/55628358/insert-jsob-object-into-postgres-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!