1、引入 django定义表的类库models
from django.db import models
2、定义表字段
新增表字段,CharField 定义char类型字段(verbose_name定义字段名称中文含义,max_length定义字段输入最长内容限制)
name = models.CharField(verbose_name="租户", max_length=64)
新增外键,ForeignKey定义为外键,括号内显示外键对应的表名,on_delete=models.SET_NULL:设置此值,会把外键设置为null,前提是允许为null。
env_id = models.ForeignKey('Environment',verbose_name='所属环境',on_delete=models.SET_NULL, null=True)
class Config(models.Model):
app_id = models.ForeignKey('Application',verbose_name='所属应用',on_delete=models.SET_NULL, null=True)
env_id = models.ForeignKey('Environment',verbose_name='所属环境',on_delete=models.SET_NULL, null=True)
host = models.CharField(verbose_name="域名", max_length=1024)
DBinfo = models.CharField(verbose_name="数据库信息", max_length=1024)
def __str__(self):
return '配置'
class Meta:
# 末尾不加s
verbose_name_plural = '配置表'
3、在settings.py指定django使用mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 数据库名,
'USER': 数据库账号,
'PASSWORD': 数据库密码,
'HOST': 数据库主机,
'POST': 数据库端口号,
}
}
4、生效表变更内容
python manage.py makemigrations :记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件例如:0001文件
python manage.py migrate:主要作用就是把这些改动作用到数据库也就是执行migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性