91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

django中不同app共用數據模型的方法

發布時間:2020-08-13 14:24:58 來源:億速云 閱讀:437 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關django中不同app共用數據模型的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

django的每個app目錄下,都有自己的models.py文件。

原則上,每個app涉及的數據庫,都會定義在這個文件里。

但是,有的數據庫,涉及到多個app應用,不是很方便放在一個單獨的app里。

這時,我往往會新建一個public app,然后,將這個目錄的modles.py里放置這些數據庫,

可是,這樣又顯得太分散了。

所以,有時也會考慮單獨新建一個cmdb這樣的app,將所有models數據庫文件放在這個app下定義。

那這樣操作,會帶來一個問題,就是默認django源代碼時寫死了,一個app只能有一個models.py文件。

如果在app下放多個不同的models.py文件(用前綴或后綴區分),

使用python manage.py makemigrations命令時,django不能感知到其它的models.py文件。

而我當然想將不同的應用分不同的models.py文件放了。

那如何擴展呢?

以下是如何實現的:

1,刪除cmdb的app目錄下默認的models.py文件。

2,在cmdb的app目錄下新建一個models文件夾。

3,在models文件夾時,按不同的應用,建立不同的models.py文件(用前綴或后綴區分)。

4,在models文件夾下新建一個__init__.py文件,將所有的此目錄下的models.py里的model導入。

5,再次運行python manage.py makemigrations,django就能感知到這些文件了。

6,寫admin.py時,導入models文件夾下的內容,即可。

 在此,再總結一下admin.py里的@admin.register裝飾,同時應用在多個models上時的寫法。

@admin.register(BaseImage, MiddleImage, DeployImage, DeployConfig)
class BaseImage(admin.ModelAdmin):
    pass
class MiddleImage(admin.ModelAdmin):
    pass
class DeployImage(admin.ModelAdmin):
    pass
class DeployConfig(admin.ModelAdmin):
    pass

關于django中不同app共用數據模型的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

大新县| 莎车县| 聂拉木县| 平乐县| 库车县| 临西县| 广西| 岑溪市| 应城市| 佛学| 延津县| 巴彦县| 扎囊县| 涞源县| 四川省| 游戏| 利辛县| 南雄市| 鲜城| 三都| 吉木萨尔县| 曲水县| 达孜县| 黔东| 左贡县| 田东县| 班玛县| 辛集市| 石柱| 丁青县| 巨野县| 化州市| 甘肃省| 墨江| 东兰县| 辽阳市| 鄂尔多斯市| 满洲里市| 科技| 宿州市| 彩票|