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性能更好.下面讲讲如 ...
随机推荐
- Authentication failure. Retrying - 彻底解决vagrant up时警告
碰到的问题 使用vagrant启动虚拟机时,出现如下警告: vagrant up default: Warning: Authentication failure. Retrying... 原因分析 ...
- 8款超好用的SVG编辑工具用起来
随着响应式网页的发展,对于内容呈现的要求也越来越高,尤其是图像.为了在各种设备上能实现自然伸缩或扩展而不影响图片质量,所以矢量图形(SVG)正变得越来越受欢迎. 大家都知道,在计算机图形学中,有两种主 ...
- jenkins关联shell命令修改pom项目版本
#获取pom文件内的项目版本 version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/ ...
- 全面系统Python3入门+进阶-1-8 Python的前景
语言的热度. python在开发效率上有优势 大数据.人工智能 结束
- 【445】Markdown Syntax
ref: Markdown基本语法 ref: Markdown Guide ref: Markdown Cheatsheet ref: Markdown Tutorial Lists Basic Sy ...
- 【441】JSON format
Ref: json -- JSON encoder and decoder JSON(JavaScript Object Notation) can help us to see data mor ...
- 【 argo 和 kubectl 】
argo submit --watch xxx.yaml [ --kubeconfig xxx.conf --namespace xxx ] argo list [ --kubeconfig xxx ...
- [数据库]简单SQL语句总结
1.在查询结果中显示列名:a.用as关键字:select name as '姓名' from students order by ageb.直接表示:select name '姓名' from ...
- labelme2coco问题:TypeError: Object of type 'int64' is not JSON serializable
最近在做MaskRCNN 在自己的数据(labelme)转为COCOjson格式遇到问题:TypeError: Object of type 'int64' is not JSON serializa ...
- kill 掉 占据端口的进程
netstat -anp | grep 80kill -9 进程号