最近專案需要,需要在表建立好之後,初始化一些資料。django初始化資料的方法有很多,但都需要額外的手動操作,不智慧型。看網上有一種方法用post_syncdb訊號來初始化資料庫,但是我用的django版本是1.8, 使用python manage.py migrate來同步資料庫,不使用python manage.py syncdb來同步資料庫,就想看看能否使用post_migrate訊號來初始化資料庫。研究了django的signal,試了一下,果然可以。
from django.db.model.signal import post_migrate
#定義receiver函式
def init_db(sender, **kwargs):
if sender.name == 'mymodel.__name__':
if not mymodel.objects.exists():
mymodel.objects.create() # 當傳送訊號的模型是你要初始化的模型的時候,在進行資料庫操作,不加判斷的話,每乙個模型都會呼叫
post_migrate.connect(init_db)
這樣就好了,你執行python manage.py migrate 之後,就會初始化資料
django 初始化資料庫
匯出資料庫內容為初始化檔案 dumpdata 命令 dumpdata 基本資料庫的轉存 manage.py dumpdata db.json manage.py dumpdata admin admin.json dumpdata 備份特定的表 manage.py dumpdata admin.lo...
php初始化資料庫,初始化資料庫
進入安裝流程 從weiphp5.0開始,入口檔案index不在根目錄下,而是沿用tp5風格,放在public目錄 因此你的 目錄建議最好配置到public目錄下,比如在apache環境下,配置httpd.conf檔案如下 在nginx環境下,配置 conf檔案中的root引數到public目錄下 然...
mysql資料庫初始化指令碼
要想在mysql資料庫中,譬如定義cms的database,在cms下建 t admin t article t channel 這些table 那麼在myeclipse開發環境下可以先寫 source admin.sql即在mysql中執行sql指令碼的命令 init.bat前面rem表示的都是注...