Django简单的数据库操作

当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍。

 

一. 在settings.py文件中设置数据库属性。

如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',        #MySQL数据库
        'NAME': 'test1',                             #库名
        'USER': 'root',                              #用户名
        'PASSWORD': 'a8115080',                      #密码
        'HOST':'localhost',
        'PORT':'3306',
    }
}

 

二. 创建数据库模型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='1').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()

 

posted @ 2016-10-23 19:02  ShapeOfVoice  阅读(1427)  评论(0编辑  收藏  举报