问题
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