最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式

 更新時間:2023年03月14日 10:11:00   作者:拾牙慧者  
這篇文章主要介紹了python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

方式一

在Python的SQLAlchemy ORM中,您可以使用以下代碼動態(tài)地更改數(shù)據(jù)模型類的表名:

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyModel(Base):
    __tablename__ = 'my_custom_table_name'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
#... 其它定義或使用...
# 動態(tài)修改表名
MyModel.__table__.name = 'my_new_table_name'

在這個例子中,我們首先定義了一個名為MyModel的數(shù)據(jù)模型,并將其與my_custom_table_name表相關(guān)聯(lián)。然后,在必要時,我們可以通過訪問模型類的__table__屬性來動態(tài)地更改表名。

這是因為ORM框架本身會自動為每個數(shù)據(jù)模型類創(chuàng)建一個對應的Table對象,并將其存儲在該類的__table__屬性中。我們可以使用name屬性直接更新此對象的名稱,從而實現(xiàn)動態(tài)更改表名的目的。

請注意,動態(tài)更改表名可能會影響到您的應用程序的正確性和可維護性。因此,請考慮清楚是否真正需要這樣做,以及如何規(guī)劃數(shù)據(jù)庫模式的變化。

方式二

如果我們原先的class為此:

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyModel(Base):
    __tablename__ = 'my_custom_table_name'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

我們可以定義其抽象類:

class MyModelCls(Base):
    __abstract__ = True  # 關(guān)鍵語句,定義所有數(shù)據(jù)庫表對應的父類
    __table_args__ = {"extend_existing": True}  # 允許表已存在
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

然后通過函數(shù)返回class對象

def get_source_data_model_cls(cid, cid_class_dict={}):
    if cid not in cid_class_dict:
        cls_name = table_name = cid
        cls = type(cls_name, (MyModelCls, ), {'__tablename__': table_name})
        cid_class_dict[cid] = cls
    return cid_class_dict[cid]

到此這篇關(guān)于python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)python sqlalchemy動態(tài)修改tablename內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于python使MUI登錄頁面的美化

    基于python使MUI登錄頁面的美化

    之前的文章Python用HBuilder創(chuàng)建交流社區(qū)APP我們已經(jīng)在HBuilder上創(chuàng)建的APP ,現(xiàn)HBuilder中已經(jīng)有了登錄頁面的相關(guān)的html文件,但是按照html已有的頁面來看,它缺少外觀的美化,本篇文章主要講的是MUI登錄頁面的美化。,需要的朋友可以參考一下
    2021-11-11
  • 在django中圖片上傳的格式校驗及大小方法

    在django中圖片上傳的格式校驗及大小方法

    今天小編就為大家分享一篇在django中圖片上傳的格式校驗及大小方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實現(xiàn)多線程端口掃描

    python實現(xiàn)多線程端口掃描

    這篇文章主要為大家詳細介紹了python實現(xiàn)多線程端口掃描,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python自動化測試用例全對偶組合與全覆蓋組合比較

    python自動化測試用例全對偶組合與全覆蓋組合比較

    這篇文章主要為大家介紹了python自動化測試用例全對偶組合與全覆蓋組合比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Python中int()函數(shù)的用法淺析

    Python中int()函數(shù)的用法淺析

    這篇文章主要介紹了Python中int()函數(shù)的用法淺析的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • 使用Python的PIL模塊來進行圖片對比

    使用Python的PIL模塊來進行圖片對比

    這篇文章主要介紹了使用Python的PIL模塊來進行圖片對比的方法,搜索引擎最基本的圖片搜索也是利用圖片顏色值的對比來實現(xiàn)的,需要的朋友可以參考下
    2016-02-02
  • python三種數(shù)據(jù)結(jié)構(gòu)及13種創(chuàng)建方法總結(jié)

    python三種數(shù)據(jù)結(jié)構(gòu)及13種創(chuàng)建方法總結(jié)

    拿Python來說,數(shù)據(jù)結(jié)構(gòu)的概念也是超級重要,不同的數(shù)據(jù)結(jié)構(gòu),有著不同的函數(shù),供我們調(diào)用,接下來,我們分別來介紹字符串、列表、字典的創(chuàng)建方法
    2021-09-09
  • 帶你用Python實現(xiàn)Saga 分布式事務的方法

    帶你用Python實現(xiàn)Saga 分布式事務的方法

    在這篇文章里,我們介紹了 SAGA 的理論知識,也通過一個例子,完整給出了編寫一個 SAGA 事務的過程,涵蓋了正常成功完成,異常情況,以及成功回滾的情況,需要的朋友參考下吧
    2021-09-09
  • python人工智能算法之線性回歸實例

    python人工智能算法之線性回歸實例

    這篇文章主要為大家介紹了python人工智能算法之線性回歸實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python入門基礎之用戶輸入與模塊初認識

    python入門基礎之用戶輸入與模塊初認識

    Python的強大之處在于他有非常豐富和強大的標準庫和第三方庫,幾乎你想實現(xiàn)的任何功能都有相應的Python庫支持。下面通過本文給大家介紹python入門基礎之用戶輸入與模塊初認識,一起看看吧
    2016-11-11

最新評論

大埔县| 紫阳县| 青州市| 宽甸| 安吉县| 驻马店市| 东平县| 博野县| 秀山| 临沂市| 张家港市| 临湘市| 南溪县| 博兴县| 庄浪县| 灌阳县| 阳泉市| 镇赉县| 营山县| 尼玛县| 敖汉旗| 昌平区| 藁城市| 颍上县| 乐至县| 阿拉尔市| 八宿县| 馆陶县| 霍山县| 延寿县| 土默特右旗| 云浮市| 沁源县| 峨眉山市| 鄄城县| 沧源| 扶风县| 崇阳县| 唐山市| 抚州市| 八宿县|