Django JSONFIeld(.objects.create)数据未插入

时间:2018-09-03 22:29:21

标签: django postgresql

我是django / postgres的新手。通过遵循文档,我已经创建了JSONField模型。在这种情况下,我尝试在psql中存储一个json文件。

class TestResults(models.Model):
    name = models.CharField(max_length=200)
    data = JSONField()

此模型随后用于芹菜任务。

# task for running tests by marker 
def run_tests_mark(test_marker):
    os.chdir('/lib/tests')
    # only allow specific strings to be passed in by the user
    if test_marker not in ['smoke', 'regression']: 
        return 'You have entered an invalid term. Please use either smoke of regression.'
    # run pytest command with self contained reporting
    results = pytest.main(['-p', 'no:django', '-v', '--json-report', '-m', test_marker])
    # convert report to json
    report_json = json_report('.report.json')
    # insert the json report: 
    TestResults.objects.create(name='test_run_id_00', data=report_json)
    return None

我正在使用一个助手来获取结果报告

def json_report(filename):
    with open(filename, 'r') as json_file:
        data = json.load(json_file)

    return data

我还可以看到该报告本身已生成并位于预期目录中。

当我连接到psql时,已经创建了一个名为test_automation_app_testresults的表,但是当我运行select * from test_automation_app_testresults时却什么也没回来。

我的问题是:

  • 我正确使用JSONField吗?
  • 创建后是否应该有某种'commit()'?
  • 创建表后,是否可以确认一切正常?

0 个答案:

没有答案