Django数据库基本操作(MySQL)
以一个示例工程为例:
下面是工程文件目录:
untited为项目文件(一般与根目录同名),CommunityModel为一个定义数据库模型的APP
一、定义模型
1.首先配置好数据库,在untited的setting.py中修改数据库配置代码
2.创建App ,名为CommunityModel
django-admin startapp CommunityModel
并在执行上述命令生成的CommunityModel文件的models.py中添加下示代码,用以生成一张数据表
from django.db import models class Article(models.Model):
name = models.CharField(max_length=)
title = models.TextField()
jianjie = models.TextField()
article = models.TextField()
time = models.DateTimeField(auto_now_add=True)
# Create your models here.
若要生成多张表,可以通过编写多个类实现。
3.根据模型,生成数据库
执行下列命令
python manage.py migrate
python manage.py makemigrations TestModel
python manage.py migrate TestModel
命令执行成功后,查看数据库可以发现,生成下图所示 名为communitymodel_article的数据表
二、数据库操作
1.编写数据库操作方法
在untited目录下新建article.py,并编写数据库操作的相关代码。如下所示,为一个增加记录操作,一个查询操作(关于数据库基本操作之后介绍)。
from django.http import HttpResponse
from CommunityModel.models import Article
from django.db import connection
from django.http import JsonResponse def _add(request):
name1 = request.POST.get('name')
title1 = request.POST.get('title')
jianjie1 = request.POST.get('jianjie')
article1 = request.POST.get('article')
try:
test1 = Article(name=name1, title=title1, jianjie=jianjie1, article=article1)
test1.save()
return JsonResponse(, safe=False)
except:
return JsonResponse(, safe=False) def _query(request):
list = Article.objects.all()
return JsonResponse(list, safe=False)
在untited目录下的urls.py中增加url配置代码,使数据库操作的方法能通过url调用
url(r'^addarticle$', article._add),
url(r'^queryarticle$', article._query)
2.具体数据库操作
增
test1 = Article(name="name", title="title", jianjie="jianjie", article="article")
test1.save()
删
test1 = Article.objects.get(name="name")
test1.delete()
改
test1 = Article.objects.get(name="name")
test1.name = "user"
test1.title = "head"
test1.jianjie = "hello"
test1.article = "hello,world"
test1.save()
查
list = Article.objects.all()
return JsonResponse(list, safe=False) #返回查询结果
参考文章:
django对数据库的操作有很多方式,更多复杂具体的操作可以参考下列文章 :
- Django进阶Model篇—数据库操作(ORM):https://www.cnblogs.com/happy-king/p/8338404.html
Django数据库基本操作(MySQL)的更多相关文章
- django数据库基本操作-增删改查(tip)-基本
补充:django外键保存 #外键保存 form_data = Form_Data() project, is_created = Project_Name.objects.get_or_create ...
- Python之路【第十九章】:Django 数据库对象关系映射
Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...
- Django/MySql数据库基本操作&ORM操作
数据库配置: #第一步在settings里面 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbna ...
- Django Sqlite3 数据库向MySQL迁移
整合了两个URL而来.. 1,http://www.phodal.com/blog/django-mezzanine-sqlite3-migrate-mysql/ 2,http://www.ziqia ...
- Error loading MySQLdb module: No module named 'MySQLdb'----------- django成功连接mysql数据库的方法
在进行django学习过程中,尝试使用框架连接mysql数据库,启动服务器的时候经常遇到Error loading MySQLdb module: No module named 'MySQLdb' ...
- MySQL系列:数据库基本操作(1)
1. 登录数据库 mysql -h localhost -u root -p 2. 数据库基本操作 2.1 查看数据库 mysql> SHOW DATABASES; +------------- ...
- django框架配置mysql数据库
django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...
- Linux下安装Python3的django并配置mysql作为django默认数据库(转载)
我的操作系统为centos6.5 1 首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...
- Django中把SQLite数据库转换为Mysql数据库的配置方法
我们在学习和开发Django的时候,一般是使用SQLite作为数据库.在正式讲网站部署上线是用MySQL数据库比较多.MySQL支持高并发的访问,而且相对于SQLite,MySQL性能更好.下面讲讲如 ...
随机推荐
- 苹果IPhone真机开发调试
需要 在苹果开发网站 加入真机的UDID, 并在Profile中勾选该手机
- 第2课第2节_Java面向对象编程_封装性_P【学习笔记】
摘要:韦东山android视频学习笔记 面向对象程序的三大特性之封装性:把属性和方法封装在一个整体,同时添加权限访问. 1.封装性的简单程序如下,看一下第19行,如果我们不对age变量进行权限的管控 ...
- org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
编程中遇到:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot ...
- linux中proz下载软件安装部署
W系统里有迅雷这个下载工具,L系统里也一样有prozilla下面说一下CENTOS 5 系统里安装prozilla的过程1.首先在下面的链接下载最新稳定版本的prozilla 记得下tar包版本的[u ...
- WPF-支持异步操作的ObservableCollection-AsyncObservableCollection
在进行WPF开发过程中,需要从一个新的线程中操作ObservableCollection,结果程序抛出一个NotSupportedException的错误 public class AsyncObse ...
- opencv3.4.6 cmake
Selecting Windows SDK version to target Windows 10.0.16299. Found PythonInterp: N:/Anaconda3/install ...
- Source Insight解决回车缩进过多问题
摘自:https://jingyan.baidu.com/article/02027811339e651bcc9ce53c.html 新安装的Source Insight软件在编写代码时,回车换行 ...
- Hive Essential (4):DML-project,filter,join,union
1. Project data with SELECT The most common use case for Hive is to query data in Hadoop. To achieve ...
- centos 7 修改计算机名
[root@centos7 ~]$ hostnamectl set-hostname test.xyz.com # 使用这个命令会立即生效且重启也生效 [root@centos7 ~]$ host ...
- JS的正则表达式限定开始和结尾等测试
[]:匹配该区间内人任意一个字符^:匹配以某内容开头的$:匹配以模拟内容结尾的字符\w:测试是英文字母,数字,下划线.{}:设置区间,可出现几次到几次该文学习和测试几个正则的方法,测试结果如图,不加多 ...