1.django ORM
django内置了一套完整的解决方案,其中就包括他自己的ORM。可惜没有使用SQLAlchemy,SQLAlchemy虽然学习曲线比较高,但基本上是python-orm的标准了,是不可避免的。ORM,全称(Object-Relationship-Mapping),对象关系映射。在MVC方式的开发中,Model代表数据模型,当我们使用数据库时不免要和SQL打交道。既然是面向对象编程,那么orm提供了一种新的方式和数据库打交道,每个数据模型实例都对应着数据库中的一行数据,对对象的操作就是对数据库中数据的操作
ps:ORM和传统操作相比,效率低了很多,为什么我们要使用orm呢?
还记得曾经看过一本书《黑客与画家》,里面有一章令我印象深刻。大意是:关于互联网创业,最重要的是先做一个产品出来,尽快上线,什么密码修改,密码找回这些功能全部不要管。为什么?因为我们最主要的目的是发掘市场,当一个产品发布后,看看他能产生多大的影响,一个没有市场的产品,纵然做得尽善尽美也没用。后期再把有市场的产品不断迭代做好。
ORM虽然操作效率低,但是开发效率高,避免出错。相比使用传统地数据库操作方式,能有效地缩减开发周期。
2.配置我们的数据库
使用orm框架的好处之一就是,无论我们使用哪种数据库都可以做到很好的迁移。因为不同数据库的sql语法有一定的差别。通过配置,我们就可以轻松使用不同的数据库
查看settings.py文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
这里配置的是sqlite数据库系统,sqlite麻雀虽小,五脏俱全,作为开发我们完全可以使用它。但是它也有自己的缺陷,sqlite并不是一个client/server的数据库,缺乏解决大型项目问题的能力,正如sqlite开发者自己所言,他们只是和fopen()竞争。一个访问量10K/day的网站完全可以使用sqlite,比如个人博客网站。
所以我使用的是mysql数据库,原因如下:免费,好安装,国内大多数企业都在用它。
mysql的配置如下:
django内置了一套完整的解决方案,其中就包括他自己的ORM。可惜没有使用SQLAlchemy,SQLAlchemy虽然学习曲线比较高,但基本上是python-orm的标准了,是不可避免的。ORM,全称(Object-Relationship-Mapping),对象关系映射。在MVC方式的开发中,Model代表数据模型,当我们使用数据库时不免要和SQL打交道。既然是面向对象编程,那么orm提供了一种新的方式和数据库打交道,每个数据模型实例都对应着数据库中的一行数据,对对象的操作就是对数据库中数据的操作
ps:ORM和传统操作相比,效率低了很多,为什么我们要使用orm呢?
还记得曾经看过一本书《黑客与画家》,里面有一章令我印象深刻。大意是:关于互联网创业,最重要的是先做一个产品出来,尽快上线,什么密码修改,密码找回这些功能全部不要管。为什么?因为我们最主要的目的是发掘市场,当一个产品发布后,看看他能产生多大的影响,一个没有市场的产品,纵然做得尽善尽美也没用。后期再把有市场的产品不断迭代做好。
ORM虽然操作效率低,但是开发效率高,避免出错。相比使用传统地数据库操作方式,能有效地缩减开发周期。
2.配置我们的数据库
使用orm框架的好处之一就是,无论我们使用哪种数据库都可以做到很好的迁移。因为不同数据库的sql语法有一定的差别。通过配置,我们就可以轻松使用不同的数据库
查看settings.py文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
这里配置的是sqlite数据库系统,sqlite麻雀虽小,五脏俱全,作为开发我们完全可以使用它。但是它也有自己的缺陷,sqlite并不是一个client/server的数据库,缺乏解决大型项目问题的能力,正如sqlite开发者自己所言,他们只是和fopen()竞争。一个访问量10K/day的网站完全可以使用sqlite,比如个人博客网站。
所以我使用的是mysql数据库,原因如下:免费,好安装,国内大多数企业都在用它。
mysql的配置如下: