2014-02-10 19 views
5

我已經創建了一個Django項目,現在渲染模板。我有一個MySQL數據庫已經加載的表和數據。想使用我現有的mysql數據庫與Django

從我在教程中看到的,python的模型概念很有趣也很容易,但是我不能在這裏使用它,因爲我沒有可用的模型。假設django會神奇地創建基於我的數據庫的模型。

我已經用引擎,數據庫,用戶名,主機,端口等填充了settings.py,我是否必須根據我的表創建模型?

這工作你:

db = MySQLdb.connect(user='root', db='dbBooks', passwd='1234', host='localhost') 
cursor = db.cursor() 
cursor.execute('SELECT bookname FROM books') 
names = [row[0] for row in cursor.fetchall()] 
db.close() 
return render(request, 'index.html', {'bookNames': names}) 

回答

12

inspectdb現在工作正常。 (Django 1.7.1)只需運行manage.py inspectdb將爲數據庫中的所有表創建類並在控制檯上顯示。

$ python manage.py inspectdb 

保存爲一個文件,通過使用標準的Unix輸出重定向:

$ python manage.py inspectdb > models.py 

Reference

4

有由Django會自動神奇創建基於使用的manage.pyinspectdb選項錶款的方式。 Django文檔本身提供了一個簡短指南Integrating Django with a legacy database

+0

嘿感謝的鏈接。我試過這樣做。通話永遠不會結束。我等了一個多小時。它永遠在運行。我有大約十張桌子和累計2500行。有沒有辦法知道inspectdb是否在工作? – GopinathR

相關問題