1括授、簡單創(chuàng)建一個表:
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 = '創(chuàng)建時間',auto_now_add=True) #創(chuàng)建時間 自動填充當前時間
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
執(zhí)行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 | |
+--------+-------------+------+-----+---------+----------------+
重點:遷移功能非常強大几蜻,在開發(fā)項目時可以實時更改模型,不需要刪除數據庫或者更新新的表体斩,它的作用就是實時更新數據庫而不丟失數據
模型三部曲:
1梭稚、修改模型(創(chuàng)建模型):class Student(models.Model):
2、生成遷移:python manage.py makemigrations
3絮吵、遷移生效:python manage.py migrate