以一个示例工程为例:
下面是工程文件目录:
untited为项目文件(一般与根目录同名),CommunityModel为一个定义数据库模型的APP
一、定义模型
1.首先配置好数据库,在untited的setting.py中修改数据库配置代码
2.创建App ,名为CommunityModel
django-admin startapp CommunityModel
并在执行上述命令生成的CommunityModel文件的models.py中添加下示代码,用以生成一张数据表
fromdjango.db import modelsclassArticle(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,并编写数据库操作的相关代码。如下所示,为一个增加记录操作,一个查询操作(关于数据库基本操作之后介绍)。
fromdjango.http import HttpResponsefromCommunityModel.models import Articlefromdjango.db import connectionfromdjango.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对数据库的操作有很多方式,更多复杂具体的操作可以参考下列文章 :