码迷,mamicode.com
首页 > 数据库 > 详细

django中数据库的相关操作

时间:2016-04-24 20:16:25      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

一、使用环境

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="")
View Code

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");
View Code

使用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");
View Code

使用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);
View Code

 

django中数据库的相关操作

标签:

原文地址:http://www.cnblogs.com/zhaopengcheng/p/5427888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!