複数のテーブルでraw SQLを実行する必要があります。結果セットをレンダリングします。私はどうなるのテーブルの場合:複数のテーブルに対してdjango/python:複数のテーブルを持つraw sql
sql = "select * from my_table"
results = my_table.objects.raw(sql)
私がやっている:
sql = "select * from my_table, my_other_table where ...."
results = big_model.objects.raw(sql)
しかし、私は本当に私のすべてのフィールドを含むテーブル/モデル/クラスbig_modelを作成する必要がありますが必要かもしれない?私は実際にこの「テーブル」にデータを格納することはありません。
追加:
私はテーブルmy_usersを持っています。私はテーブルmy_listingsを持っています。これらはModels.pyで定義されています。テーブルmy_listingsには、my_usersへの外部キーがあり、誰がそのリストを作成したかを示します。
SQLは、私は、このSQLは、私はジャンゴで私のページをレンダリングするために使用することができ、結果セットを生成したい
"select user_name, listing_text from my_listings, my_users where my_users.id = my_listings.my_user_id".
です。
質問は次のとおりです。フィールドuser_nameとlisting_textを含むモデルを作成する必要がありますか?または、未処理のSQL(select、from、where)を使用する、より良い方法がいくつかありますか?もちろん、実際のクエリはこの例より複雑です。 (私がmodels.pyで定義したモデルは、データベースの実際のテーブルとなり、モデル/テーブルの用語を使用しています。それらを参照する方法が他にありません、ごめん。)私はPythonテーブル参照単純なデータモデルで作業します。
あなたがここで達成しようとしていることは明確ではありません。おそらく、あなたのモデルについてより詳細な情報を表示し、このクエリが行うことが役立つと思われるかもしれません。 –
テーブルが外部キーによって結合されている複数のテーブルから選択したいです。私は実際のクエリを書く助けは必要ありません。申し訳ありませんが、なぜそれが明確でないのか分かりません:( – user984003
あなたはクエリのヘルプが必要なようです。私はDjangoでこれを行うには、生のSQLが必要だと思う理由はよく分かりません。 –