想用django使用我现有的mysql数据库

时间:2014-02-10 16:47:26

标签: django django-models

我创建了一个django项目,现在渲染模板。我有一个mysql数据库已经有大量的表和数据。

从我在教程中看到的,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})

2 个答案:

答案 0 :(得分:22)

inspectdb现在运作正常。 (Django 1.7.1)只需运行manage.py inspectdb将为数据库中的所有表创建类并在控制台上显示。

 $ python manage.py inspectdb

使用标准Unix输出重定向将其另存为文件:

 $ python manage.py inspectdb > models.py

Reference

答案 1 :(得分:6)

有一种方法可以让Django使用manage.py {{1}}选项基于表自动神奇地创建模型。 Django文档本身在inspectdb

上提供了一个简短的指南