[英]How to set a specific database to use in one ModelForm in Django?
[英]How to use a specific database for a single test in django?
有誰知道如何在Django中對單個測試使用特定的數據庫?
編輯:目前,我正在使用sqlite進行測試,但是,我想使用mysql數據庫進行特定測試(def test_benchmark ...),它將對一些sql語句進行基准測試。
謝謝
在Django中,您可以在settings.py文件中設置數據庫。 配置應如下所示:
DATABASES = {
'default': {
'NAME': 'db_name',
'ENGINE': 'sql_server.pyodbc',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
'OPTIONS' : { "use_mars" : False,
"provider" : "SQLNCLI10",
"extra_params" : "MARS Connection=True"},
}
}
我不知道有任何內置方法可以執行此操作-但我也沒有誠實地尋找它。 一種可能的(骯臟的)破解方法是檢查您的設置(這只是另一個Python模塊)中sys.argv
中的內容,並為您的特定測試提供備用數據庫設置,即:
# settings.py
import os, sys
DATABASES = {
'default': {
'NAME': 'db_name',
'ENGINE': 'your.engine',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
}
}
if "test" in sys.argv and "your-test-name" in sys.argv:
DATABASES = {
'default': {
'NAME': 'other_db_name',
'ENGINE': 'your.engine',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.