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

一. 在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. C++的单例模式与线程安全单例模式(懒汉/饿汉)

    1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实 ...

  2. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  3. TFS源代码管理原则

    1.工作开始初次打开解决方案是应向服务器请求更新代码.2.工作结束时,应向服务器签入最新代码,并保证解决方案能够编译通过.3.不要长时间签出项目或解决方案,当向项目添加新项目后为编辑任何程序代码时,应 ...

  4. Oracle 11g 单实例安装文档

    这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...

  5. SQL Server Column Store Indeses

    SQL Server Column Store Indeses SQL Server Column Store Indeses 1. 概述 2. 索引存储 2.1 列式索引存储 2.2 数据编码和压缩 ...

  6. 【Windows编程】系列第五篇:GDI图形绘制

    上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...

  7. Web报表工具JS开发之日期校验

    在报表开发过程中,我们常常需要对查询界面进行日期校验.例如有两个参数:开始日期和结束日期,我们要校验的是:开始日期与结束日期不能为空,结束日期必须在开始日期之后以及结束日期必须在开始日期后的某个时间段 ...

  8. MMORPG大型游戏设计与开发(服务器 游戏场景 事件)

    今天第星期天,知识是永远是学习不完的,所以今天这部分算比较轻松,同时也希望大家会有一个好的周末.场景事件即场景的回调,和别的事件一样是在特定的条件下产生的,前面也介绍过场景的各种事件,今天详细的说一说 ...

  9. google的云盘与公司网盘

    很多人都很期待Google推出的云存储服务,也就是公司网盘.因为多数人相信,没有比google更适合做云存储的公司了,作为一个标准的Web公司或者说互联网公司,云端理所应当的优秀.但比起几年前听传言时 ...

  10. hibernate报ExceptionInInitializerError错误

    今天在练习hibernate的criteria接口查询时候报了错: java.lang.ExceptionInInitializerError at test.testThisPro.createCr ...