我使用Django和MySQL來爲一個網站提供服務。我的本地主機上有我自己的MySQL服務器。現在我有一個第三方MySQL數據庫,我需要使用它來讀寫遠程主機上的數據庫。我在我的settings.py文件中設置了新的數據庫信息,但是當我嘗試訪問遠程數據庫時發生問題。由於新的數據庫不是由我創建的,因此我在models.py文件中沒有相應的類。從中讀取Model.objects.using('remote_db_name')。get(pk = 0)的常規方式不起作用,因爲它會引發NameError。在Django中處理本地和遠程數據庫
我想知道在Django中處理本地和遠程數據庫的正確方法是什麼,特別是當遠程數據庫只提供SELECT和INSERT權限時。我在網上找到的所有教程都是關於在同一個Django站點中定義的多個數據庫,因此models.py文件具有所需的所有數據。
感謝您提前提供任何幫助!
感謝您的回覆。但是如果我選擇跳過Django ORM並使用原始SQL,我仍然需要我的models.py文件中的遠程數據庫的類別嗎?我需要執行Model.objects.raw(...),它仍然需要該類。或者你的意思是在Django之外使用原始SQL?如果是這樣的話,最好的辦法是什麼?來自django.db的 – Jd007 2010-09-26 16:01:10
import connection; c = connection.cursor(); c.execute(SQL) – 2010-09-26 16:08:40
即使遠程數據庫沒有使用Django,這是否也能正常工作?特別是,我試圖連接到的數據庫使用PHP。謝謝。 – Jd007 2010-09-26 17:09:58