本文介绍: SQLite一个轻型数据库,它以文件形式存储数据,无需单独的数据库服务器。SQLite数据库就是一个文件,这使得SQLite部署维护都非常方便。同时,SQLite支持大多数的标准SQL语法,使得它在使用上非常直观。通过以上的介绍我们可以看到,Django连接使用SQLite数据库非常简单。Django的强大ORM使得我们可以操作Python对象一样操作数据库,大大提高开发效率。同时,SQLite的轻便和易用性,使得它成为开发环境的理想选择

目录

一、SQLite数据库简介

二、Django连接SQLite数据库

1、配置数据库

2、创建数据库表

三、使用Django ORM操作SQLite数据库

1、定义模型

2、创建对象

3、查询对象

总结


本文将深入探讨如何在Django框架连接和使用SQLite数据库。我们将介绍SQLite数据库的特点,Django数据库配置,以及如何通过Django的ORM(对象关系映射)进行数据库操作

一、SQLite数据库简介

SQLite是一个轻型数据库,它以文件形式存储数据,无需单独的数据服务器。SQLite的数据就是一个文件,这使得SQLite的部署维护都非常方便。同时,SQLite支持大多数的标准SQL语法,使得它在使用上非常直观。

二、Django连接SQLite数据

在Django连接SQLite数据库非常简单,只需要项目settings.py文件中进行配置即可。Django默认使用SQLite作为开发环境数据库。

1、配置数据库

settings.py文件中,找到DATABASES配置项,默认配置如下

DATABASES = {  
    'default': {  
        'ENGINE': 'django.db.backends.sqlite3',  
        'NAME': BASE_DIR / 'db.sqlite3',  
    }  
}

上述配置表示使用SQLite作为默认的数据库,数据库文件名db.sqlite3,存储在项目的根目录下。如果需要更改数据库文件位置,只需要修改‘NAME’的值即可

2、创建数据库表

当我们在Django中定义模型(Model)后,Django会自动为我们生成对应的数据库表。只需要运行下面的命令,Django就会自动创建更新数据库表

python manage.py makemigrations  
python manage.py migrate

三、使用Django ORM操作SQLite数据库

Django提供了一个强大的ORM(对象关系映射),使得我们可以像操作Python对象一样操作数据库。下面是一个简单例子演示如何使用Django ORM创建一个模型,并对其进行CRUD操作。

1、定义模型

在Django的app中,我们可以定义一个模型例如一个简单的博客模型

from django.db import models  
  
class Blog(models.Model):  
    title = models.CharField(max_length=100)  
    content = models.TextField()  
    created_at = models.DateTimeField(auto_now_add=True)  
    updated_at = models.DateTimeField(auto_now=True)

2、创建对象

创建模型对象非常简单,只需要创建Python对象一样即可

blog = Blog(title='My first blog', content='Hello, world!')  
blog.save()  # 将对象保存到数据库

3、查询对象

Django的ORM提供了丰富的查询接口,我们可以非常方便地查询数据库中的数据:

# 获取所有的博客  
blogs = Blog.objects.all()  
  
# 根据ID获取博客  
blog = Blog.objects.get(id=1)
更新删除对象
更新和删除对象同样很简单:

python
# 更新对象  
blog.title = 'New title'  
blog.save()  # 更新到数据库  
  
# 删除对象  
blog.delete()  # 从数据库中删除

总结

通过以上的介绍,我们可以看到,Django连接和使用SQLite数据库非常简单。Django的强大ORM使得我们可以像操作Python对象一样操作数据库,大大提高开发效率。同时,SQLite的轻便和易用性,使得它成为开发环境的理想选择

原文地址:https://blog.csdn.net/weixin_43856625/article/details/134154729

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_43996.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注