python django 与数据库的交互
2014-05-24 14:06
429 查看
下载没有任何问题的mysqdb http://www.codegood.com/archives/4
1创建一个新的app。
python manage.py startapp books
2 激活app的方法:
编辑 settings.py 文件, 找到 INSTALLED_APPS 设置。 INSTALLED_APPS 告诉 Django 项目哪些 app 处于激活状
态。缺省情况下如下所示
INSTALLED_APPS = (
#'django.contrib.auth',
#'django.contrib.contenttypes',
#'django.contrib.sessions',
#'django.contrib.sites',
'mysite.books',
)
3 python manage.py validate
validate 命令检查你的模型的语法和逻辑是否正确。如果一切正常,你会看到 0 errors found 消息。如果有问题,它会给出非常有用的错误信息来帮助你 修正你的模型。
4 生成 CREATE TABLE 语句 python manage.py sqlall books
5 sqlall 命令并没有在数据库中真正创建数据表,只是把SQL语句段打印出来。 Django提供了更简单的 方法来执行这些SQL语句。运行 syncdb 命令:
python manage.py syncdb
6 a 要创建对象,只需 import 相应模型类,并传入每个字段值将其实例化
b 调用该对象的 save() 方法,将对象保存到数据库中。Django 会在后台执行一条 INSERT 语句
c 使用属性 Publisher.objects 从数据库中获取对象。调用 Publisher.objects.all() 获取数据库中所有的 Publisher 对象。此时,Django 在后台执行一条 SELECT SQL语句
d 添加一个方法 __str__() 到 Publisher 对象。 __str__() 方法告诉Python要怎样把对象当作字符串来使用
e 选择对象:Publisher.objects.all()
f 数据过滤 Publisher.objects.filter(name="Apress Publishing")
g sql link的用法 : Publisher.objects.filter(name__contains="press")
h icontains (大小写无关的 LIKE ), startswith 和 endswith , 还有 range (SQL BETWEEN 查询)
i 获取单个对象 Publisher.objects.get(name="Apress Publishing")
j 数据排序Publisher.objects.order_by("name")
k 要用 order_by() 显得有点啰嗦。 大多数时间你通常只会对某些 字段进行排序以指定模型的缺省排序方式 ordering = ["name"] 告诉Django如果没有显示提供 order_by() , 就缺省按名称排序
class Publisher(models.Model):
pass
class Meta:
ordering = ["name"]
m 限制返回的数据 Publisher.objects.all()[0]
n 删除对象
p = Publisher.objects.get(name="Addison-Wesley")
p.delete()
/////////////////////////////
5TypeError: __init__() got an unexpected keyword argument ‘maxlength’
Django下出现这个错误,记录一下,貌似以前的版本是应该用maxlength,但是新版本里面使用max_length
6Error: One or more models did not validate:books.author: "headshot": To use ImageFields, you need to install the Python Ima
ging Library. Get it at http://www.pythonware.com/products/pil/ .
-->去这个网站把它下载下来安装,就OK了。
1创建一个新的app。
python manage.py startapp books
2 激活app的方法:
编辑 settings.py 文件, 找到 INSTALLED_APPS 设置。 INSTALLED_APPS 告诉 Django 项目哪些 app 处于激活状
态。缺省情况下如下所示
INSTALLED_APPS = (
#'django.contrib.auth',
#'django.contrib.contenttypes',
#'django.contrib.sessions',
#'django.contrib.sites',
'mysite.books',
)
3 python manage.py validate
validate 命令检查你的模型的语法和逻辑是否正确。如果一切正常,你会看到 0 errors found 消息。如果有问题,它会给出非常有用的错误信息来帮助你 修正你的模型。
4 生成 CREATE TABLE 语句 python manage.py sqlall books
5 sqlall 命令并没有在数据库中真正创建数据表,只是把SQL语句段打印出来。 Django提供了更简单的 方法来执行这些SQL语句。运行 syncdb 命令:
python manage.py syncdb
6 a 要创建对象,只需 import 相应模型类,并传入每个字段值将其实例化
b 调用该对象的 save() 方法,将对象保存到数据库中。Django 会在后台执行一条 INSERT 语句
c 使用属性 Publisher.objects 从数据库中获取对象。调用 Publisher.objects.all() 获取数据库中所有的 Publisher 对象。此时,Django 在后台执行一条 SELECT SQL语句
d 添加一个方法 __str__() 到 Publisher 对象。 __str__() 方法告诉Python要怎样把对象当作字符串来使用
e 选择对象:Publisher.objects.all()
f 数据过滤 Publisher.objects.filter(name="Apress Publishing")
g sql link的用法 : Publisher.objects.filter(name__contains="press")
h icontains (大小写无关的 LIKE ), startswith 和 endswith , 还有 range (SQL BETWEEN 查询)
i 获取单个对象 Publisher.objects.get(name="Apress Publishing")
j 数据排序Publisher.objects.order_by("name")
k 要用 order_by() 显得有点啰嗦。 大多数时间你通常只会对某些 字段进行排序以指定模型的缺省排序方式 ordering = ["name"] 告诉Django如果没有显示提供 order_by() , 就缺省按名称排序
class Publisher(models.Model):
pass
class Meta:
ordering = ["name"]
m 限制返回的数据 Publisher.objects.all()[0]
n 删除对象
p = Publisher.objects.get(name="Addison-Wesley")
p.delete()
/////////////////////////////
5TypeError: __init__() got an unexpected keyword argument ‘maxlength’
Django下出现这个错误,记录一下,貌似以前的版本是应该用maxlength,但是新版本里面使用max_length
6Error: One or more models did not validate:books.author: "headshot": To use ImageFields, you need to install the Python Ima
ging Library. Get it at http://www.pythonware.com/products/pil/ .
-->去这个网站把它下载下来安装,就OK了。
相关文章推荐
- python学习笔记--Django入门三 Django 与数据库的交互:数据建模
- Python网络编程05----django与数据库的交互
- python mysql 数据库交互
- python django 数据库查询方法总结
- Python系列视频教程: Django【13讲】第九讲 数据库使用多对一映射
- python3 基础模块(数据库文件模块dbm、shelve、pickle,django,mysql,ORM框架——SQLAlchemy)
- python 点滴记录7:django数据库操作中的filter和get方法
- Django与数据库交互
- python学习之--Django--连接数据库mysql创建model
- Python系列视频教程: Django【13讲】第七讲 数据库使用1
- pyramid python 交互环境创建数据库table
- python Django 数据库查询
- django 的数据库操作2009年06月26日 星期五 15:26Python代码
- Django学习笔记之【Django与数据库交互】
- [python,django]自定义数据库的表名
- Python系列视频教程: Django【13讲】第八讲 数据库使用2
- python django 数据库查询
- django python query Making queries -- 模型的数据库查询 good
- Python django学习之:model (与数据库操作)
- django+python项目数据库保存中文报错解决方法