中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flask一對多關系級聯刪除怎么實現

發布時間:2022-12-05 16:44:48 來源:億速云 閱讀:144 作者:iii 欄目:編程語言

本文小編為大家詳細介紹“Flask一對多關系級聯刪除怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Flask一對多關系級聯刪除怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

前言

一對多關系,當刪除主表數據的時候,關聯表數據一起刪除掉

一對多

模型設計

class Person(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    addresses = db.relationship('Address', backref='person', cascade="all,delete")


class Address(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(50))
    person_id = db.Column(db.Integer, db.ForeignKey('person.id'))

主要是在 relationship 加一個cascade="all,delete" 屬性

其它關聯刪除方式

    ###  只刪除父級,子不影響
    # 1. addresses = db.relationship('Address', backref='person',  passive_deletes=True)

    ###  子級跟隨刪除
    # 2. addresses = db.relationship('Address', backref='person', cascade="all, delete-orphan")
    # 3. addresses = db.relationship('Address', backref='person', cascade="all, delete")

    ##  父級刪除,子級不刪除,外鍵更新為 null
    # 4. addresses = relationship("Address", backref = backref("child"))

新增與刪除

新增數據

        person = Person(name='yoyo')
        person.addresses = [
            Address(email='123@qq.com')
        ]
        db.session.add(person)
        db.session.commit()  # 提交

刪除Person 表數據,關聯表一并刪除

        p = Person.query.filter_by(name='yoyo').first()
        db.session.delete(p)
        db.session.commit()

讀到這里,這篇“Flask一對多關系級聯刪除怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉寿县| 大安市| 九江县| 藁城市| 涞水县| 泽普县| 攀枝花市| 平乡县| 沧州市| 和静县| 威远县| 正阳县| 临邑县| 正安县| 洮南市| 广安市| 堆龙德庆县| 天全县| 宝坻区| 揭阳市| 拉孜县| 湟源县| 保德县| 孝义市| 阿尔山市| 缙云县| 德安县| 金山区| 德兴市| 五原县| 疏勒县| 怀集县| 通山县| 康平县| 桓仁| 海阳市| 杨浦区| 华池县| 漳平市| 永靖县| 奉贤区|