2017-07-02 22 views
1

我的Django項目有兩個數據庫。我已經創建了將數據輸入到數據庫(mysql)的函數,但用於始終保存在默認數據庫中的數據。我現在使用.save(using ='db2')解決了這個問題。目前的問題是,我使用實例來獲取用戶的ID,當我想使用下面的函數查看用戶詳細信息時,默認數據庫的用戶ID與mysql數據庫的用戶ID衝突,因此默認數據庫顯示細節。我如何才能使用像我用來保存數據的db2。顯示userdetail的功能如下所示。Django應用程序只使用默認數據庫來檢索數據。如何將檢索函數設置爲mysql數據庫

DATABASES = { 
'default':{ 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3')}, 

    'db2': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'subscribers', 
    'USER': 'root', 
    'PASSWORD': '######', 
    'HOST': 'localhost', 
    'PORT': '3306', 

}} 

我在我的Django應用程序中創建的函數,每次請求時都會顯示用戶的詳細信息。

@login_required 
def userDetail(request, id=None): 
    instance = get_object_or_404(Subscribers, id=id) 
    context = { 
     "Name": instance.name, 
     "instance": instance, 
    } 
    return render(request, 'userDetail.html', context) 

回答

0

由於您使用 'DB2' 您的實例改成這樣:

instance = get_object_or_404(Subscribers.objects.using('db2'), id=id)