配置:
1.手动创建数据库。
create database testDB
2. 在Django项目的settings.py文件中,配置数据库连接信息:
DATABASES = {"default": {"ENGINE": "django.db.backends.mysql","NAME": "你的数据库名称", # 需要自己手动创建数据库"USER": "数据库用户名","PASSWORD": "数据库密码","HOST": "数据库IP","POST": 3306,"CHARSET": 'utf8'}
}
3.在Django项目的__init__.py文件中写如下代码,告诉Django使用pymysql模块连接MySQL数据库: (自带不行或不好用)
import pymysqlpymysql.install_as_MySQLdb()
4.在app->models.py里创建Class,必须继承models.Model。
from django.db import modelsclass Person(models.Model):first_name = models.CharField(max_length=30)last_name = models.CharField(null=False,max_length=30)
5.执行数据库迁移命令:2个命令。<--只要该models里数据库相关code
python manage.py makemigrations #记录改动
python manage.py migrate #翻译成MySQL,并执行
注意不要使用 python3 manage.py makemigrations,否则不生效或无反应
6.当没有主键字段,ORM自动创建名为“id” 主键字段。
常用字段
AutoField
int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。
verbose_name
所有字段都有,对字段解释。
IntegerField
一个整数类型,范围在 -2147483648 to 2147483647。
CharField
字符类型,必须提供max_length参数, max_length表示字符长度。
DateField
日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。
DateTimeField
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。
详细见:https://www.cnblogs.com/liwenzhou/p/8688919.html