#python #flask-sqlalchemy
#python #flask-sqlalchemy
Вопрос:
Я пытаюсь вставить количество объектов JSON в базу данных Postgres. Ошибка не возникает, но поля в базе данных остаются пустыми.
Я перепробовал много вещей. использование python dicts, использование 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()
Я ожидаю увидеть представление python dict в полях test_record_parse_data, test_parse_data, test_record_mappings и test_mappings, но они остаются пустыми. в поле part_number всегда успешно записывается база данных.