ORM模型类
ORM模型类
一:编写模型类
单表
from django.db import models
# Create your models here.
class Student(models.Model):
# 自增字段,生成int类型,且为主键,自增主键默认会给你加,你可以不写
id = models.AutoField(primary_key=True)
# 必须指定max_length
name = models.CharField(max_length=32)
多表
from django.db import models
# Create your models here.
class Student(models.Model):
# 自增字段,生成int类型,且为主键
id = models.AutoField(primary_key=True)
# 必须指定max_length
name = models.CharField(max_length=32)
sex = models.CharField(max_length=2)
class_room = models.ForeignKey("Classroom", null=True) # 创建外键
class Classroom(models.Model):
name = models.CharField(max_length=32)
二:注册app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"classes"
]
发现有许多的app,那么是默认的app,他们里面也同样有models.py文件
三:数据库迁移
1.python manage.py makemigrations 提前将创建数据表的过程记录下来,相当于备份
2.python manage.py migrate 将刚才记录的操作过程到MySQL数据库里面执行一遍,就会生成表了。

自定义表上面的是权限表,每个app都有个后台登陆页面,让你可以在web页面上对数据进行操作,不需要操作navicat
下面的表是,记录登陆日志,文本类型,迁移记录,django_session以后看,很有用。
四:修改表
修改模型类就可以了,例如添加字段,删除字段,修改字段类型,设置默认值等等。
新增列的时候注意

新增一列时,表中是没有数据的,此时django不知道你想填充什么数据。
选择1后输入一个默认值,然后执行迁移命令就可以了。
选择2就会退出,需要你在models.py文件中,用代码指定默认值,或者用null填充。
如果可以为空,那么sex=models.CharField(null=True)表示可以为空,那么添加这一列,就会用null全部填充。
还可以指定默认值例如为1
sex=models.CharField(null=True,default=1)
看十遍不如自己写一遍!巩固基础,纵横开拓!

浙公网安备 33010602011771号