首页 > 数据库 >创建模型类以及数据库迁移

创建模型类以及数据库迁移

时间:2022-11-28 18:46:48浏览次数:45  
标签:name models 创建 数据库 迁移 模型

目录

创建模型类

每个子应用都有一个models.py文件用来存放当前应用相关的模型,Django会默认创建自增长的主键,一个模型只能有一主键,也可一自己设置主键

  from django.db import models

  class Student(models.Model):


      SEX_CHOICES = (
          (0, "女"),
          (1, "男"),
          (2, "保密"),
      )
      # id = models.AutoField(primary_key=True) # 如果不添加主键约束 Django默认自动添加字段名称叫id
      name = models.CharField(max_length=32,unique=True,verbose_name="姓名")
      age = models.SmallIntegerField(verbose_name="年龄",default=20)
      sex = models.SmallIntegerField(choices=SEX_CHOICES,verbose_name="性别") # choices=SEX_CHOICES是一个限制只能添加在枚举里面的内容
      birthday = models.DateField(verbose_name="生日")

      # 表名默认使用 子应用名_类名
      class Meta: # 设置表名
          db_table = "db_student"

如果创建后 想对表添加或者修改字段,在模型类里面直接添加、删除、修改即可,模型类修改后 还是执行下面这两个命令

数据库迁移

创建好模型后 执行数据库迁移,就是将上面创建的模型在数据库中创建表,Django会将模型翻译成sql执行,迁移需要两个命令见下方

  • 生成迁移文件

    python manage.py makemigrations
    
  • 同步到数据库中,在数据库中创建表

    python manage.py migrate
    

标签:name,models,创建,数据库,迁移,模型
From: https://www.cnblogs.com/py-zhq/p/16933009.html

相关文章

  • mysql数据库之事务
     一、mysql事务1、事务的概念2、事务的ACID特点2.1原子性2.2一致性2.3隔离性2.4持久性3、两个事务之间的影响3.1脏读(读取未提交数据)3.2不可重复度(前后多......
  • windows 创建指定大小文件
    在windows下创建指定大小的文件进行简单介绍:使用fsutil命名,可在cmd窗口查看fsutil支持的命令用法:fsutilfilecreatenew文件名文件大如:fsutilfilecreatene......
  • 错误解决:附加SQL Server 2000数据库 5118错误
    错误解决:附加SQLServer2000数据库5118错误一、错误信息:附加数据库对于服务器“192.168.0.121”失败。 (Microsoft.SqlServer.Smo)有关帮助信息,请单击:http://go.m......
  • SQL 2005 附加 2000 数据库 的痛苦经历
    2000的数据库突然罢工了,又要用数据库,还好有2005的,想到要附加到2005下使用。就按照平时附加的方法,结果提示:5118错误。就去Google搜,结果就找到了类似的问题。在这里写出来给......
  • Python常用的功能(随机数生成、读写文件、链接数据库)
    一、随机数生成importrandom#生成1-1000之间的伪随机数num=random.randint(1,1000)二、读文件read=open("c:\\text.txt","r")lines=read.readlines()......
  • MySQL数据库:8、多表查询的方法与思路
    目录一、多表查询思路数据准备1、笛卡尔积1、1.代码实践1、2.笛卡尔积进阶操作2、连表操作2、1.内连接2、2.左连接2、3.右连接2、4.全连接3、子查询3、1.子查询代码实践一......
  • 什么数据库这么猛?5.6版本刚开源一个半月,8.0版本竟然就要启动了?| StoneDB社区答疑第二
    好吧,或许你觉得这是在标题党,但就是这么猛,你没想到吧,小编我也没想到。这是真的,8.0iscoming~先说一下标题,StoneDBforMySQL在6月底开源出来的,确实是5.6版本,但在开源的同时,......
  • 关于页面输入框的字段限长问题,查询数据库字符集
    关于页面输入框的字段限长如果开发文档或者接口文档没有明确给出字段的限制长度,我们在写页面的时候需要自己去数据库查看字段长度以Oracle数据库为例如果Oracle的字符集......
  • 基于图数据库的复杂网络分析能力
    基于图数据库的复杂网络分析能力概览​​一、社交网络与图数据库技术​​​​二、搜索排名与图数据库技术​​​​三、评分系统与图数据库技术​​​​四、自然语言处理与图......
  • 图数据库ONgDB Release v-1.0.2
    图数据库ONgDBReleasev-1.0.2​​图数据库ONgDBReleasev-1.0.2​​​​一、升级内容​​​​二、其它补充​​Here’sthetableofcontents:图数据库ONgDBReleasev......