真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django中不同app共用數(shù)據(jù)模型的方法

這篇文章將為大家詳細(xì)講解有關(guān)django中不同app共用數(shù)據(jù)模型的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比呈貢網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式呈貢網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋呈貢地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴(lài)。

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

原則上,每個(gè)app涉及的數(shù)據(jù)庫(kù),都會(huì)定義在這個(gè)文件里。

但是,有的數(shù)據(jù)庫(kù),涉及到多個(gè)app應(yīng)用,不是很方便放在一個(gè)單獨(dú)的app里。

這時(shí),我往往會(huì)新建一個(gè)public app,然后,將這個(gè)目錄的modles.py里放置這些數(shù)據(jù)庫(kù),

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

所以,有時(shí)也會(huì)考慮單獨(dú)新建一個(gè)cmdb這樣的app,將所有models數(shù)據(jù)庫(kù)文件放在這個(gè)app下定義。

那這樣操作,會(huì)帶來(lái)一個(gè)問(wèn)題,就是默認(rèn)django源代碼時(shí)寫(xiě)死了,一個(gè)app只能有一個(gè)models.py文件。

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

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

而我當(dāng)然想將不同的應(yīng)用分不同的models.py文件放了。

那如何擴(kuò)展呢?

以下是如何實(shí)現(xiàn)的:

1,刪除cmdb的app目錄下默認(rèn)的models.py文件。

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

3,在models文件夾時(shí),按不同的應(yīng)用,建立不同的models.py文件(用前綴或后綴區(qū)分)。

4,在models文件夾下新建一個(gè)__init__.py文件,將所有的此目錄下的models.py里的model導(dǎo)入。

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

6,寫(xiě)admin.py時(shí),導(dǎo)入models文件夾下的內(nèi)容,即可。

 在此,再總結(jié)一下admin.py里的@admin.register裝飾,同時(shí)應(yīng)用在多個(gè)models上時(shí)的寫(xiě)法。

@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

關(guān)于django中不同app共用數(shù)據(jù)模型的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)頁(yè)名稱(chēng):django中不同app共用數(shù)據(jù)模型的方法
網(wǎng)頁(yè)地址:http://weahome.cn/article/pjopii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部