当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍。
一. 在settings.py文件中设置数据库属性。
如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #MySQL数据库
'NAME': 'test1', #库名
'USER': 'root', #用户名
'PASSWORD': 'a8115080', #密码
'HOST':'localhost',
'PORT':'',
}
}
二. 创建数据库模型App
python manage.py startapp dbModel
目录结构如下(不同的版本也许会有不同):
|-- dbModel
|-- __init__.py
|-- admin.py
|-- models.py
|-- tests.py
|-- app.py
|-- views.py
三. 在数据库中创建表
1. 在dbModel/models.py中声明表结构
如下:
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20) #字段,默认会多个id字段
age = models.IntegerField()
其中,一个class就对应着一张表,表名为:dbModel_Test ,即AppName_ClassName.
在这里你可以一次声明多个表。
2. 然后使用命令行就可以在本地数据库中创建相应表:
python manage.py syncdb #老版本
python manage.py makemigrations #新版本
python manage.py migrate
四. 在函数中对数据库表进行基本操作
说明:
1. 在函数里操作数据库,经常会遇到编码错误问题,所以一般要在文件的首行加上
# -*- coding:UTF-8 -*-
2. 操作数据库返回的结果一般都是个对象,而那些字段值则是这个对象的属性,使用 . 即可调用。
简单操作:
1. 添加新元素
test1 = Test(name='小明',age=18)
test1.save()
2. 查询
Test.objects.all() #查询表中所有元组
Test.objects.get(id=1) #获取单个对象,使用obj.fieldName来获取字段数据
3.按条件筛选
Test.objects.filter(name='小明') #返回结果是一个列表,列表中每个元素是一个元组,存储着一条记录的相关信息
4.更新
Test.objects.filer(id='').updata(name = '大明')
或者:
p = Test.objects.get(id=1)
p.name = '大明'
p.save()
5.删除
p = Test.objects.get(name='小明')
p.delete()
或
Test.objects.filter(name='小明').delete()