美文网首页
模型操作三部曲

模型操作三部曲

作者: 生命有一种执着 | 来源:发表于2021-06-28 12:10 被阅读0次

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

相关文章

网友评论

      本文标题:模型操作三部曲

      本文链接:https://www.haomeiwen.com/subject/sqdqultx.html