<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 60 relationship方法中的cascade參數詳解(1) 如果將數據庫得到外鍵設置為RESTRICT,那么在ORM層面,刪除了父表中的數據,那么從表中的數據將會NULL。如果不想要這種情況發生,那么應該將這個值的nullable=False。 在SQLAlchemy,只要將一個數據添加到session中,和它相關聯的數據都可以一起存入到數據庫中了。這些是怎么設置的呢?其實是通過relationship的時候 ,有一個關鍵字參數cascade可以設置這些屬性: 1. save-update:默認選項。在添加一條數據的時候,會把其他和它相關聯的數據都添加到數據庫中。這種行為就是save-update屬性影響的。 2. delete:表示當刪除某一個模型中的數據的時候,是否也刪除掉使用relationship和它關聯的數據。 3. delete-orphan:表示當對一個ORM對象解除了父表中的關聯對象的時候,自己便會被刪除掉。當然如果表中的數據被刪除,自己也會被刪除。這個選項只能用在一對多上,不能用在多對多以及多對一上。并且還需要在子模型中的relationship中,增加一個single\_parent=True的參數。 4. merge:默認選項。當在使用session.merge,合并一個對象的時候,會將使用了relationship相關聯的對象也進行merge操作 5. expunge:移除操作的時候,會將相關聯的對象也進行移除。這個操作只是從session中移除,并不會真正的從數據庫中刪除。 6. all:是對save-update,merge,refresh-expire,expunge,delete幾種的填寫 ```text "relationship("模型類",backref="另外一個模型類的屬性",cascade="save-update,delete")" from sqlalchemy import create_engine, Column, Integer, Text, String, DateTime, String, Float, func, and_, or_, \ ForeignKey, Table from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker,relationship,backref HOSTNAME = '127.0.0.1' PORT = "3306" USERNAME = "root" PASSWORD = "123456" DATABASE = "xt_flask" DB_URI = "mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) engine = create_engine(DB_URI) Base = declarative_base(engine) session = sessionmaker(engine)() class User(Base): __tablename__ = 'user' id = Column(Integer,primary_key=True,autoincrement=True) username = Column(String(50),nullable=False) # articles = relationship("Article",cascade="save-update,delete") # comments = relationship('Comment',cascade="save-update,delete") class Article(Base): __tablename__ = 'article' id = Column(Integer,primary_key=True,autoincrement=True) title = Column(String(50),nullable=False) uid = Column(Integer,ForeignKey("user.id")) # 不會執行添加操作 -- not add Article # author = relationship("User",backref="articles",cascade="") # 保存并更新數據 # delete:級刪除 # author = relationship("User", backref="articles", cascade="save-update,delete") # author = relationship("User", backref="articles", cascade="delete") # author = relationship("User", cascade="save-update,delete") author = relationship("User", backref=backref("articles",cascade="save-update,delete"),cascade="save-update,delete") class Comment(Base): __tablename__ = "comment" id = Column(Integer,primary_key=True,autoincrement=True) content = Column(Text,nullable=False) uid = Column(Integer,ForeignKey('user.id')) author = relationship("User") def my_init_db(): Base.metadata.drop_all() Base.metadata.create_all() user = User(username="angle") article = Article(title="miku") article.author = user comment = Comment(content="xxxx") comment.author = user session.add(comment) session.add(article) session.commit() def operation(): # article = session.query(Article).first() # session.delete(article) user = session.query(User).first() session.delete(user) session.commit() if __name__ == "__main__": # my_init_db() operation() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看