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

一. 在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()

Django简单的数据库操作的更多相关文章

  1. 关于Django中的数据库操作API之distinct去重的一个误传

    转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数 ...

  2. Django【第5篇】:Django之ORM数据库操作

    django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录-------- ...

  3. 【Django】Django model与数据库操作对应关系(转)

    Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...

  4. Django框架----ORM数据库操作

    一.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...

  5. django之ORM数据库操作

    一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例 ...

  6. django基础之数据库操作

    Django 自称是“最适合开发有限期的完美WEB框架”.本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触D ...

  7. PHP开发-最简单的数据库操作,使用ezSQL

    PHP数据库操作使用ezSQL来实现,简单好用. 如果用的是mysql数据库,将下载的ezSQL文件中的mysql和shared连个文件夹拷贝到PHP工程目录中引用即可. 在PHP文件中 // Inc ...

  8. 用户增删改查 django生命周期 数据库操作

    一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...

  9. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

随机推荐

  1. #研发中间件介绍#定时任务调度与管理JobCenter

    郑昀 最后更新于2014/11/11 关键词:定时任务.调度.监控报警.Job.crontab.Java 本文档适用人员:研发员工   没有JobCenter时我们要面对的:   电商业务链条很长,业 ...

  2. SQL Server 2012 实现分页新语法

    最近一直在看SQL Server的书,不过看的都是基础的查询流,查询在工作中用到的最多,所以能正确地查询出想要的数据也是很重要的嘛. 在书上看到在SQL Server 2012新增了一种实现分页的查询 ...

  3. IE8 ajax缓存问题

    娘希匹,又遇到缓存问题了. 下面的代码,在其他浏览器都是正常的,但是在IE8中出现诡异问题. $.ajax({ url:dataUrl, data:encodeURI(currentjsonform) ...

  4. eclipse svn分支与合并操作

    以前做项目的时候没有用过svn的分支合并操作,今天用到了,刚开始还真不会啊.最后查了下就是这么的方便.专门记录下来. 原文来自:http://blog.csdn.net/lisq037/article ...

  5. windows socket编程select模型使用

    int select(         int nfds,            //忽略         fd_ser* readfds,    //指向一个套接字集合,用来检测其可读性       ...

  6. 【Windows编程】系列第三篇:文本字符输出

    上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接 ...

  7. EF optimize the perfermance

          参考 Three steps for fast entityframework 6.1 code-first startup performance Managing DbContext ...

  8. 利用QMP和QEMU虚拟机交互的几种方式

    QMP是一种基于JSON格式的传输协议,我们能利用它与一个QEMU虚拟机实例进行交互,例如查询,更改虚拟机的状态,获取设备信息等等.下面是几种创建QMP的方法以及对其它的一些基本命令的使用: 1.基于 ...

  9. oracle 密码有效期

    oracle的密码是存在有效期的,有时候会遇到密码到期需要重设的情况,查看当前密码有效期的语句: SELECT * FROM dba_profiles s WHERE s.profile='DEFAU ...

  10. POJ2794 Double Patience[离散概率 状压DP]

    Double Patience Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 694   Accepted: 368 Cas ...