模型操作三部曲

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容