模型
概述
Django对各种数据库提供了很友好的支持,统一的调用API,我们可以根据自己不同的业务需求选择不同的数据库。
配置数据库
__init__.py
import pymysql
pymysql.install_as_MySQLdb()
settings.py
# 修改DATABASES
{
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'数据库名',
'USER':'数据库用户名',
'PASSWORD':'数据库密码',
'HOST':'localhost或者IP',
'PORT':'3306'
}
}
ORM简介
概述
对象 - 关系 - 映射
功能
- 根据类生成表结构
- 将对象、列表的操作转换为sql语句
- 将sql查询到的结果转为对象、列表
优点
极大的减轻了开发人员的工作量,不需要面对因数据库的改变而导致代码不能使用
定义模型
模型、属性、表、字段之间的关系
一个模型在数据库中对应一张表,在模型中定义的属性,对应该模型对照表中的一个字段
创建模型类
班级类
class Grades(models.Model):
gname = models.CharField(max_length=10)
gdate = models.DateTimeField()
gboynum = models.IntegerField()
ggirlnum = models.IntegerField()
isDelete = models.BooleanField()
# 重写 __str__() 方法
def __str__(self):
return self.gname
学生类
class Students(models.Model):
sname = models.CharField(max_length=20)
sage = models.IntegerField()
sgender = models.BooleanField()
scontend = models.CharField(max_length=40)
isDelete = models.BooleanField()
sgrade = models.ForeignKey('Grades')
lastTime = models.DateField(auto_now=True)
createTime = models.DateField(auto_now_add=True)
def __str__(self):
return self.sname
元选项
在模型