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)