Django学习笔记-修改Django的默认的数据库

时间:2024-04-27 19:40:42

1.修改设置settings中的配置

DATABASES = {

'default': {

# 'ENGINE': 'django.db.backends.sqlite3',

# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

# 配置连接数据库 ,导入pymysql类库

'ENGINE': 'django.db.backends.mysql',

'NAME': '数据库名称',

'HOST':'数据库IP',

'PORT':端口号,

'USER':'用户名',

'PASSWORD':'密码'

}

}

2.替换掉原来django中使用mysqldb的地方,以后操作mysql都用pymysql这个模块

pymysql 在python2.* 和3.都可以使用

mysqldb 只能在python2.
中使用,

替换默认的mysqldb

在对应的app的__init__.py文件中引入pymysql

import pymysql
# 替换掉之前使用mysqldb的地方,以后都使用pymysql,一般都写在对应的app中,每个app都可以自定义使用
pymysql.install_as_MySQLdb()

3.创建模型映射到对应的数据库中

在models.py文件中创建User类

# 创建的表的名字为app的名称拼接类名
class User(models.Model):
# id字段 自增 是主键
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32,null=True)

4.同步到本地数据库

python3 manage.py makemigrations     数据库表变化记录
pythons manage.py migrate 数据库同步命令
菜单中Tools -> run manage.py task 在命令行中执行
makemigrations
migrate

这时就可以在本地看到新创建的user表,django默认还会创建其他的配置App出现其他的表,可以忽略

5.新增或者删除对应的字段

#新增字段 设置为空或者指定默认值
age = models.IntegerField(null=True)
yy = models.CharField(default="你好") # 删除字段,直接注释掉对应的属性
# 删除表,直接注释掉整个类即可