1、简单创建一个表:
class Student(models.Model):
name = models.CharField(max_length=20)
age = models.SmallIntegerField()
sex = models.SmallIntegerField(default=1) #设置默认值
qq = models.CharField(max_length=20)
phone = models.CharField(max_length=20)
c_time = models.DateTimeField(verbose_name = '创建时间',auto_now_add=True) #创建时间 自动填充当前时间
2、进行数据迁移(需要进入python---manage.py文件目录中)
1、全部迁移:python manage.py makemigrations
2、指定APP迁移:python manage.py makemigrations teacher
以下信息则迁移成功:
(Django) pyvip@Vip:~/project/CRM$ python manage.py makemigrations
Migrations for 'teacher':
teacher/migrations/0001_initial.py
- Create model Student
3、以上操作完成,保存更改,但是还未生效
迁移生效:
全部生效:python manage.py migrate
执行APP生效:python manage.py migrate teacher
查看数据表结构:
mysql> desc teacher_student;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| age | smallint(6) | NO | | NULL | |
| sex | smallint(6) | NO | | NULL | |
| qq | varchar(20) | NO | | NULL | |
| phone | varchar(20) | NO | | NULL | |
| c_time | datetime(6) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
重点:迁移功能非常强大,在开发项目时可以实时更改模型,不需要删除数据库或者更新新的表,它的作用就是实时更新数据库而不丢失数据
模型三部曲:
1、修改模型(创建模型):class Student(models.Model):
2、生成迁移:python manage.py makemigrations
3、迁移生效:python manage.py migrate
网友评论