环境: python3.7, django2.1, windows10, pycharm2018.2]
上一篇内容创建一个最简单界面,这一节将介绍数据库操作
1. 简介
django 自带有ORM(对象关系映射),不需要直接操作数据库和编写SQL语句,所有的数据库操作均可以通过python代码来实现
2. 配置数据库
django 2.1默认使用SQLite数据库,这是一种无服务器的轻量型数据库,所有信息都存储在一个文件中
使用这个默认数据库无需额外配置,如果需要修改,到settings.py中修改相应部分
# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
3. 建表
- 第一步
在ORM中每个python类就可以对应一张数据表,因此建表的操作通过编写类来实现
接着上一篇中的内容,打开models.py,创建一个文章类Article
,这个类必须继承自models.Model
。
随便往里面添加几个字段,例如title
和content
class Article(models.Model):
title = models.CharField(max_length=32, default='Title')
content = models.TextField(null=True)
这里我没有手动设置主键,django会为我们自动创建一个自增字段id
作为主键
- 第二步
在CMD中(Linux使用终端),使用manage.py来完成数据库迁移(建表)操作
- 生成迁移文件
manage.py makemigrations myblog
- 数据库迁移(建表)
manage.py migrate
这样就完成了建表操作