亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flask-SQLAlchemy:sqlite3 IntegrityError

Flask-SQLAlchemy:sqlite3 IntegrityError

catspeake 2021-06-07 17:27:33
我正在創建一個應用程序來替換瀏覽器中的當前選項卡管理器。我在組 - 表主題和選項卡 - 表選項卡之間創建了一個簡單的一對多關系。如果我刪除它,我希望能夠自動刪除主題的孩子。這是我目前擁有的:from flask import request, redirect, url_for, render_template, Flaskfrom flask_sqlalchemy import SQLAlchemyfrom sqlalchemy import excfrom flask_whooshee import Whoosheefrom datetime import datetimeapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falsedb = SQLAlchemy(app)whooshee = Whooshee(app)@whooshee.register_model('topic_name')class Topic(db.Model):    __tablename__ = 'topic'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    topic_name = db.Column(db.String, unique=True, nullable=False)    topic_created = db.Column(db.DateTime, default=datetime.utcnow)    topic_changed = db.Column(db.DateTime, default=datetime.utcnow)    topic_tabs = db.relationship('Tab', backref='topic', cascade='all, delete-orphan', lazy='dynamic')@whooshee.register_model('tab_name', 'tab_link', 'tab_description')class Tab(db.Model):    __tablename__ = 'tab'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    tab_name = db.Column(db.String, nullable=False)    tab_link = db.Column(db.String, unique=True, nullable=False)    tab_favicon = db.Column(db.String)    tab_description = db.Column(db.String)    tab_created = db.Column(db.DateTime, default=datetime.utcnow)    tab_changed = db.Column(db.DateTime, default=datetime.utcnow)    topic_id = db.Column(db.Integer, db.ForeignKey('topic.id'))@app.route('/', methods=['GET'])def index():    return "Test"if __name__ == '__main__':    db.create_all()    try:        db.session.commit()    except exc.IntegrityError as e:        print(str(e))        db.session.rollback()    top = Topic(topic_name='Test')    db.session.add(top)    try:        db.session.commit()    except exc.IntegrityError as e:        print(str(e))        db.session.rollback()問題是當我嘗試在數據庫中添加某些內容時出現完整性錯誤,但我不確定會出現什么問題。如果我停止服務器,我還想將以前的記錄保存在數據庫中,我該如何實現?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號