ORM是什么?
在django中,根据代码中的类自动生成数据库的表也叫— code first
orm — Object Relational Mapping(关系对象映射)
modeels.py中
类名称 —-> 表名称
类属性 —-> 表字段
类实例 —-> 表的一行数据
obj.id,obj.name —-> 类实例的对象属性
Django的ORM优势
Django的orm本身对接是是数据库的存储引擎,翻译成对应的sql语句。所以使用Django不用担心频繁的更换数据库底层,无论使用 mysql、SQL server、oracle只需要Django的数据引擎即可。
配置models.py文件
该配置在testdb下进行修改
class UserInfo(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=16, null=True, blank=True, db_index=True)
age = models.IntegerField(default=1, unique=True, choices=((1, '男'), (2, '女'), (3, '二椅子')))
current_date = models.DateField(auto_now=True)
配置链接mysql
不连接mysql的话,默认了解sqite
settings.py 文件中找到 DATABASE配置 改为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'api-bj.top',
'PORT': 3306,
'NAME': 'django', # 数据库名称
'USER': 'xxxxx',
'PASSWORD': 'xxxxxxxxx',
}
}
项目文件夹下的init 配置 (非testdb应用文件夹下)
import pymysql
pymysql.install_as_MySQLdb()
执行数据库同步指令
python manage.py makemigrations
python manage.py migrate