我需要在多個表上執行原始的sql。然後我渲染結果集。對於一個表,我會做:django/python:與多個表的原始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是
"select user_name, listing_text from my_listings, my_users where my_users.id = my_listings.my_user_id".
我想這個SQL生成,我可以用它來使我的網頁在Django的結果集。
問題是:我是否必須創建一個包含字段user_name和listing_text的模型?還是有一些更好的方式仍然使用原始SQL(select,from,where)?當然,我的實際查詢比這個例子更復雜。 (我在models.py中定義的模型成爲數據庫中的實際表格,因此使用了模型/表格術語。不知道該如何引用它們,對不起。)我使用原始的sql,因爲我發現python表格只引用使用簡單的數據模型。
目前尚不清楚你在這裏試圖完成什麼。也許顯示關於你的模型的更多細節以及這個查詢意味着做什麼會有所幫助。 –
我想從多個表中選擇表中的外鍵連接。我不需要幫助編寫實際的查詢。對不起,我不確定爲什麼不明確:( – user984003
它看起來像你需要幫助的查詢。我不知道你爲什麼認爲你需要原始SQL來做到這一點在Django。如果你不需要幫助編寫查詢,然後我對你提問的想法更少了 –