Django是一款非常强大的Web框架,它默认使用的是ORM工具,通过定义model来完成数据库的操作。在Django中,使用迁移的方式来完成数据库的初始化、升级等操作。
以下是针对Django迁移和操作数据库的完整攻略。
一、迁移
1.1 数据库初始化
在开始使用Django进行数据库操作之前,需要先进行数据库的初始化。这里我们默认使用SQLite3作为数据库。
在Django项目目录下,打开settings.py
文件,找到DATABASES
并进行如下配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
然后在命令行中进入项目根目录,输入如下命令:
python manage.py migrate
这样就完成了数据库的初始化。
1.2 数据库升级
当你添加新的model或对已有的model进行修改时,需要对数据库进行升级。Django提供了自动化的迁移工具,可以让你非常方便快捷地完成数据库的升级。
1.2.1 创建迁移文件
在你的model发生变化后,需要执行以下命令来创建一个新的迁移文件:
python manage.py makemigrations
这个命令将会自动检测您的model的变化,并创建一个新的迁移文件存放在migrations
文件夹中。
1.2.2 执行迁移
迁移文件已经创建好后,就可以执行下面的命令来将这些更改应用到数据库中:
python manage.py migrate
Django会根据迁移文件的信息来完成数据库升级。如果出现问题,将会抛出异常,需要根据异常提示进行修复。
二、操作数据库的方法
下面,我们来讲解一下如何在Django中进行数据库的操作。
2.1 创建model
在models.py
中定义model:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
这个模型定义了一本书的基本信息:书名、作者、出版日期。
2.2 数据库CRUD
2.2.1 创建记录
创建记录的方式非常简单,直接使用model类的构造函数即可:
book = Book(title='Python入门', author='张三', pub_date='2019-01-01')
book.save()
2.2.2 读取记录
读取一条记录:
book = Book.objects.get(pk=1)
查询多条记录:
books = Book.objects.filter(pub_date__year=2019)
2.2.3 更新记录
查询到要修改的记录,直接修改属性并保存即可:
book = Book.objects.get(pk=1)
book.author = '李四'
book.save()
2.2.4 删除记录
查询到要删除的记录,调用delete方法即可:
book = Book.objects.get(pk=1)
book.delete()
到这里,我们已经完整地讲解了Django迁移和数据库操作的方法。如果你按照以上步骤进行安装和操作,就可以非常方便地使用Django进行数据库操作了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django 迁移、操作数据库的方法 - Python技术站