私は現在、models.pyとMySQLデータベースからJSONデータ/オブジェクトを取得し、そのJSONオブジェクトをテンプレートに送信できます。カスタムSQLを使用してMySQLからデータを取得し、それをJSONオブジェクトにしてテンプレートに送信するにはどうすればよいでしょうか。私は基本的にmodels.pyを使いたくないのです。ここで私はmodels.pyを使用していたとき、私は私のviews.pyに持っているものです。モデルの代わりにカスタムSQLを使用してJSONオブジェクトをテンプレートに返す
def startpage(request):
platforms = Platform.objects.select_related().values('platformtype')
return render(request, 'HTML1.html', {'platforms_as_json' : json.dumps(list(platforms)),})
これは私がこれまで持っているものです。
def my_custom_sql(self):
cursor = connection.cursor()
cursor.execute("SELECT platformtype FROM Platform", [self.Platform])
row = cursor.fetchone()
return row
どのように私は同じことを行うことができるだろう私のビュー内でmodels.pyを使用せずにカスタムSQLクエリを使用することを除いては?あなたがのインスタンスをしたい場合
def startpage(request):
platforms = my_custom_sql()
return render(request, 'Html1.html', {'platforms_as_json' : json.dumps(list(platforms)), })
def my_custom_sql():
cursor = connection.cursor()
cursor.execute("SELECT HWPlatformName FROM hwplatform", None)
rows = cursor.fetchall()
return rows
は今、私は私のテンプレートにデータを取得することができるが、私はそれが私に正しいJSON形式を与えているとは思わない...
なぜモデルの使用を避けたいですか?これは、Django(マイグレーションあり)を使用するセールスポイントの1つです –
(1)[Djangoの生のSQLを出す際のドキュメント](https://docs.djangoproject.com/en/1.9/topics/db/sql /)? (2)Emileが言ったこと –
私が知っている、私は以前にそれらを使用していました。私はWebアプリケーション用の他のスクリプトを書く必要があり、Djangoモデルに頼りたくはありません。そして、はい、私はドキュメントを見てきました。 – Carbon