【问题标题】:Json to database without overwriting previous data in database sqlalchemyJson 到数据库而不覆盖数据库 sqlalchemy 中的先前数据
【发布时间】:2020-02-04 15:01:39
【问题描述】:

我对 sqlalchemy 还很陌生,但是我有一个 json 文件,我将其转储到数据库中,我不想覆盖数据库中的现有数据,我只想将它附加到数据库中

下面是我将数据转储到数据库的代码

with open('questions.json') as f:
                    final_question_data=f.read()
                    jsondata=json.loads(final_question_data)
                for item in range(len(jsondata)): 
                    r = Question(id=int(jsondata[item]['id']), question=jsondata[item]['question'], option1=jsondata[item]['option1'],
                    option2=jsondata[item]['option2'], option3=jsondata[item]['option3'], option4=jsondata[item]['option4'],
                    correct_option=jsondata[item]['correct_option'], exam_id=jsondata[item]['exam_id'])
                    db.session.add(r)
                db.session.commit() 

【问题讨论】:

    标签: json python-3.x flask-sqlalchemy


    【解决方案1】:

    您遇到的问题可能是因为您在 Question 对象中指定了“id”。 ID 通常用于确定数据库中受影响的行 - 如果对象使用数据库中已经存在的 id,它将覆盖该行。

    您不需要指定 id,如果您的表设置正确,它应该自动递增并在您的数据库末尾“追加”一个新行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多