Mysql配置

搭建mysql服务,保证能正常运行

pip install mysqlclient

Setting配置数据库

如下是mysql数据库的配置

同步数据库

先生成表结构,检查是否有表结构变更:python manage.py makemigrations
再同步数据库:python manage.py migrate

同步完成后查看数据库能看到生成的表,如下

设计表

在models.py中根据需要编写表模型,如下,再通过python manage.py makemigrations和python manage.py migrate命令将表同步至数据库

同步完成后可以在数据库中看到表,如下,表名会以 appname_ 开头

设计表时常用的一些参数

  • 主键:如果没有设计主键,则默认id就是主键,如上图id为主键

   也可自定义主键:primary_key=True,如 uid = models.IntegerField(primary_key=True) 就是设置uid为主Email:models.EmailField() 会自动检验Email格式

  • 默认值:models.CharField(default=”xxx”) 用default参数设置默认值
  • 最大长度:models.CharField(max_length=10) 用max_length设置字段最大长度,Int最大长度11,Biginter最大长度20
  • 空:name = models.CharField(null=True,blank=True,default=’xx’)
    • null=True,表示数据库创建时该字段可不填,用NULL填充
    • blank=True,表示代码中创建数据库记录时该字段可传空白(空串,空字符串)
  • 文本类型:text = models.TextField(null=True, blank=True)
  • 图片类型:img = models.ImageField()
  • 时间类型:
  • timestr = models.DateTimeField() #日期+时间类型,2023-12-12 23:34:44

    date = models.DateField() #日期类型,2023-12-12
    time = models.TimeField() #时间类型,23:34:44  
    • auto_now 自动创建—无论添加或修改,都是当前操作的时间 updatetime = models.DateTimeField(auto_now=True)
    • auto_now_add 自动创建—永远是创建时的时间 creattime = models.DateTimeField(auto_now_add=True)
  • 文件类型:file = models.FileField()
  • 布尔值:status = models.BooleanField()