如有疑惑或错误之处可评论或邮箱联系博主:xuwang.me@gmail.com
本文主要记录了在django下使用mysql数据库时的相关操作,包括创建数据库、数据表、以及增删查改。
博主开发环境:Ubuntu16.04,python2.7,django1.11,mysql5.7
- 数据库(database)创建
- 数据表(table)创建
- 数据库的增删查改四个基本操作
本文采用的数据模型
假设我们以某校学生信息例,针对其数据存储创建一个简单的数据模型:
学生信息的存储进行分学院存储,例如计算机学院,电子工程学院等等。该部分我们对应College模型,有字段学院名name, 描述description(学院信息的相关介绍), 管理人员manager。
在每个学院中细分为各个专业。对应模型Major,有字段专业名name, 外键College(College与Major为一对多关系)。
在每个班级中,存储每个学生的个人信息。对应Student模型,有字段学生姓名name, 学号student_id, 外键Major(Major与Student为一对多关系)。
1. 数据库student_info的创建
在电脑上安装完mysql数据库的前提下,我们使用sql语句创建student_info数据库
CREATE DATABASE student_info
2. 数据表的创建
自定义table名字方法:
为节省你的时间,Django 会根据模型类的名称和包含它的应用的名称自动指定数据库表名称。一个模型的数据库表名称,由这个模型的“应用标签”(在manage.py startapp中使用的名称)和模型类名称之间加上下划线组成。
举个例子, bookstore应用(使用 manage.py startapp bookstore 创建),里面有个名为 Book的模型,那数据表的名称就是 bookstore_book 。
我们也可以使用 Meta类中的 db_table 参数来重写数据表的名称。
在 MySQL中使用小写字母为表命名
当你通过db_table覆写表名称时,强烈推荐使用小写字母给表命名,特别是如果你用了MySQL作为后端。详见MySQL注意事项 。
在这里我们展示自己为数据表命名的代码块:
from __future__ import unicode_literals
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20, primary_key=True