2017-07-02 4 views
1

私のDjangoプロジェクトには2つのデータベースがあります。私はデータベース(mysql)にデータを入力する機能を作成しましたが、データは常にデフォルトのデータベースに保存されていました。私は今問題を.save(= 'db2'を使用して)を使って解決しました。現在の問題は、ユーザーのIDを取得するためにinstanceを使用したことです。下の関数を使用してユーザーの詳細を表示するには、デフォルトのデータベースのユーザー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) 
関連する問題