django中数据库的相关操作

一、使用环境

python2.7,django>1.7

二、数据库进行配置

在setting文件中进行修改

1、找到DATABASES

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘, # Add ‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.
‘NAME‘: ‘studentInfo‘, # Or path to database file if using sqlite3.
‘USER‘: ‘root‘, # Not used with sqlite3.
‘PASSWORD‘: ‘123456‘, # Not used with sqlite3.
‘HOST‘: ‘‘, # Set to empty string for localhost. Not used with sqlite3.
‘PORT‘: ‘‘,
}
}

2、找到INSTALLED_APPS,添加创建的app名。

INSTALLED_APPS = (
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘article‘,
)

3、创建数据表

django框架可以创建数据表,但是不可以创建数据库。所以,在创建数据表之前需要手动创建数据库。

常用命令:

  • python manage.py syncdb。将创建的数据表导入到数据库中,如果已经创建好,修改过后,不会更新。需要使用另外的命令。
  • python manage.py makemigrations.
  • python manage.py migrate
  • python manage.py validate 检查有效性,在执行世纪导入数据库之前,检查语句是否有问题。

在需要使用数据库的app包里编辑models.py文件,生成基于models.Model的类,就产生一个数据表。例子如下:

1 class StudentInfo(models.Model):
2
3     name = models.CharField(max_length = 50,default="");
4     studentID = models.CharField(max_length=12,default="");
5     sex = models.CharField(max_length = 5,default="");
6     age = models.IntegerField(default=0);
7     address = models.TextField(default="")

4、数据库表的增删改查

(1)

c = User(name = name);
c.save();

(2)

User.objects.create(name=name)

使用对象的delete方法

1 def Delete(request,id):
2     objs = User.objects.filter(id=id);
3     if objs:
4         User.objects.get(id=id).delete();
5         return HttpResponse(objs[0].name + " delete success")
6     else:
7         return HttpResponse("no data match the query");

使用update方法

def Update(request,id,name):
    objs = User.objects.filter(id=id);
    if objs:
        obj = User.objects.get(id=id)
        obj.name = name;
        obj.save();
        return HttpResponse("%s update success"%id);
    else:
        return HttpResponse("no data match the query");

使用get或者filter方法

def GetByid(request,id):
    objs = User.objects.filter(id=id);
    if objs:
        obj = User.objects.get(id=id);
        return HttpResponse("name is %s"%obj.name);
    else:
        return HttpResponse("not find id=%s"%id);

时间: 2024-10-03 17:19:13

django中数据库的相关操作的相关文章

JS中字符串的相关操作

(转自:http://www.cnblogs.com/zhaoxinxin/articles/1402733.html) 一.字符串的创建 创建一个字符串有几种方法. 最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用. 像var myString = "Fluffy is a pretty cat.'; 这样

CS数据库的相关操作

备注:我们对于CS数据库的操作多数情况下只是查询操作,尽量不要在数据库中直接修改记录的值 第一.首先备份数据库 1.进入mysql数据库 [[email protected] ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 188 Server version: 5.1.61-log Source d

Django中的ORM进阶操作

Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. 对于ORM对数据库的基本操作前面model里已经有了介绍,这里专门针对ORM的一对多.多对多.正向.反向等操作来讲解用法和注意事项. 铭记于心的两条: 在联表操作过滤查找数据时用双下划线 "__" 在取数据时用点 "." 一.一对多 首先来设计两张简单的表格,并在其中

mysql数据库相关基础与数据库的相关操作

mysql是目前主流的数据库管理系统之一,目前还是免费的. 数据库的发展史,基本概念就不再赘述,总之数据库就是存储数据的仓库,而我们所见到的所有其实都可以归类成数据. 什么是sql? SQL:(Structured Query Language)是结构化查询语言缩写.是一门专门与数据库管理系统打交道的语言. SQL语言:是关系型数据库的标准语言, 其主要用于存取数据,查询数据,更新数据和管理数据库系统等操作. 具体可以把SQL分为4个部分: 数据控制语言 ( DCL): 主要用于控制用户的访问权

Django中利用type动态操作数据库表

场景分析: 后台MySql数据库保存了一大批按股票代码命名的数据表,每张表保存的是每只股票的日线数据. stock_000002 stock_600030 stock_600020 ...一共3000多个表. Django中如果要按股票代码展示每张表的数据,利用常规ORM模型变得非常困难,因为有3000多个表,就需要建3000多个模型. 解决办法: 1. 根据表名.字段等动态创建ORM表模型 def create_model(name, fields=None, app_label='', mo

mysql数据库和mongodb数据库的相关操作以及两个数据库的区别

在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器  net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口进) 我第一次操作是就是因为电脑上 有 MySQL  MySQL57 MySQLla 三个服务 引起端口冲突 导致 我 找不到相应的数据 数据库操作 create database   创建数据库 show databases   显示MySQL服务上的数据库 use  数据库          使

Django入门   数据库的ORM操作之一对多

Django对数据库的是通过ORM实现.什么叫做ORM呢?简单来说,我们通过sql语句查询一张表的所有数据的语句如下  select * from test.而Django中用到的表都是在models.py文件里定义.所以我们要查查询test表里的数据可以通过 test_obj = models.test.objects.all()来获取test表里所有数据的对象.再通过 test_obj.values()方法将每一行数据的里的各个字段以key和value的字典形式读取出来.这就叫ORM操作.

django中数据库事务的处理

今天在django中处理数据库数据时,用到事务,官方文档看不下去,网上查资料,那叫一个大海捞针啊,还找不到自己想要的效果. django中的事务, 依据Django1.6的文档,“Django提供了一种简单的API去控制数据库的事务交易...原子操作用来定义数据库事务的属性. 原子操作允许我们在数据库保证的前提下,创建一堆代码.如果这些代码被成功的执行,所对应的改变也会提交到数据库中.如果有异常发生,那么操作就会回滚.”可以采用装饰器用法或代码块用法,强力推荐代码块,如下. from djang

Qt中与文件目录相关操作

一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFileInfoList.利用其返回的QFileInfo,可以使用QFileInfo::absoluteFilePath()方法为返回其绝对路径.  Bool QDir::exists ( const QString & name ) 是判断以参数中为路径名的路径是否存在,如果存在该路径则返回真. bool