Вставьте объект JSOB в базу данных Postgres - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь вставить несколько объектов 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 всегда успешно записывается в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...