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=20) 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(1, safe=False) except: return JsonResponse(0, 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