Django简单的数据库操作
当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍。
一. 在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简单的数据库操作的更多相关文章
- 关于Django中的数据库操作API之distinct去重的一个误传
转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数 ...
- Django【第5篇】:Django之ORM数据库操作
django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录-------- ...
- 【Django】Django model与数据库操作对应关系(转)
Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...
- Django框架----ORM数据库操作
一.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...
- django之ORM数据库操作
一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例 ...
- django基础之数据库操作
Django 自称是“最适合开发有限期的完美WEB框架”.本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触D ...
- PHP开发-最简单的数据库操作,使用ezSQL
PHP数据库操作使用ezSQL来实现,简单好用. 如果用的是mysql数据库,将下载的ezSQL文件中的mysql和shared连个文件夹拷贝到PHP工程目录中引用即可. 在PHP文件中 // Inc ...
- 用户增删改查 django生命周期 数据库操作
一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
SQLite 是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...
随机推荐
- 做的一个HTML表白页面
页面地址: http://myspace123.qiniudn.com/love/index.html 目录文件结构: index.html <html xmlns="http://w ...
- 关于Java中枚举Enum的深入剖析
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java ...
- ubuntu下怎么给普通用户赋予sudo权限
ununtu系统安装过程中,系统会提示建立一个默认用户,比如用户名为:zhuhui.这个默认用户具有一定的管理功能,即可以通过sudo命令执行root权限的操作.由于Ubuntu系统默认不允许通过ro ...
- 自己开发一个 vsts agent 的 task
vsts 中支持自定义Build/Release的过程Task 目标:做一个可以读取 Xamarin.Android 所生成的 APK 的 基本信息的 task ,包括 package(包名) / a ...
- AC日记——校门外的树 洛谷 P1047
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种 ...
- angular的跨域(angular百度下拉提示模拟)和angular选项卡
1.angular中$http的服务: $http.get(url,{params:{参数}}).success().error(); $http.post(url,{params:{参数}}).su ...
- jquery的add()用法总结
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...
- Nginx Rewrite规则
location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配 ...
- tfs2012迁移,只用到源代码管理
背景:在虚拟机里面安装的tfs,后来发觉C盘空间太少了,运行卡,准备重新配置一台虚拟机当做tfs服务器.安装相同版本的tfs.数据库(至少比原来的版本一样或者更高版本,要不附加不了数据库). 1.确保 ...
- [Leetcode] Course Schedule
There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...