善用搜索

django中 对Mysql数据库的建表教程

Django操作Mysql数据库:

1.1 在settings中,配置数据库相关参数,所以无需修改,这里我们看一下:

DATABASES = {

'default': {
\# 这里可以指定使用的数据库类型,例如mysql

'ENGINE': 'django.db.backends.mysql',

'NAME': 'djangomysql',

'USER':'root',

'PASSWORD':'******',

'HOST':'localhost',

'PORT':'3306',

'OPTIONS': {'isolation\_level': None}

}

}

1.2 编译models.py Django通过自定义python类的形式来定义具体的模型,每个模型的物理存
在方式就是一个python的Class,每个模型代表数据库中的一张表,每个类的实例代表数据库中的
一行数据,类中的每个变量代表数据库中的一列字段。
Django通过模型,将python代码和数据库操作结合起来,实现对SQL查询语言的封装。也就
是说,你可以不会管理数据库,可以不会SQL语言,你同样能通过python的代码进行数据库的操
作。DJango通过ORM对数据库进行操作,下面直接看代码:
from django.db import models
\# Create your models here.
class UserInfo(models.Model):
'''
创建两个字段,最大长度是32,类型是char
'''
user = models.CharField(max\_length= 32)
pwd = models.CharField(max\_length= 32)
这里我们创建了两个字段,分别保存用户的名称和密码。
上面的代码,相当于下面的原生SQL语句。
CREATE TABLE UserInfo (
"id" serial NOT NULL PRIMARY KEY,
"user" varchar(30) NOT NULL,
"pwd" varchar(30) NOT NULL
);
注意:
Django默认自动创建自增主键ID,当然也可以自己指定主键。 上面的SQL语法基于PostgreSQL
更多字段和参数
每个字段有一些特有的参数,例如,CharField 需要 max\_length 参数来指定VARCHAR 数据
库字段的大小。还有一些适用于所有字段的通用参数。这些参数在文档中有详细定义,这里我们学
习一下最常用的:
<1> CharField
字符串字段, 用于较短的字符串.
CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层
限制该字段所允许的最大字符数.
<2> IntegerField
\#用于保存一个整数.
<3> FloatField
一个浮点数. 必须 提供两个参数:
参数 描述
max\_digits 总位数(不包括小数点和符号)
decimal\_places 小数位数
举例来说, 要保存最大值为 999 (小数点后保存2位),你要这样定义字段:
models.FloatField(..., max\_digits=5, decimal\_places=2)
要保存最大值一百万(小数点后保存10位)的话,你要这样定义:
models.FloatField(..., max\_digits=19, decimal\_places=10)
admin 用一个文本框()表示该字段保存的数据.
<4> AutoField
一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;
自定义一个主键:my\_id=models.AutoField(primary\_key=True)
如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.
<5> BooleanField
A true/false field. admin 用 checkbox 来表示此类字段.
<6> TextField
一个容量很大的文本字段.
admin 用一个