Django(3)-创建第一个数据模型-ORM映射

这篇具有很好参考价值的文章主要介绍了Django(3)-创建第一个数据模型-ORM映射。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库配置

根目录下settings.py 。这是个包含了 Django 项目设置的 Python 模块。

通常,这个配置文件使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无需安装额外东西来使用它。
文件头部的 INSTALLED_APPS 设置项。这里包括了会在你项目中启用的所有 Django 应用。应用能在多个项目中使用,你也可以打包并且发布应用,让别人使用它们。

通常, INSTALLED_APPS 默认包括了以下 Django 的自带应用:

django.contrib.admin – 管理员站点, 你很快就会使用它。
django.contrib.auth – 认证授权系统。
django.contrib.contenttypes – 内容类型框架。
django.contrib.sessions – 会话框架。
django.contrib.messages – 消息框架。
django.contrib.staticfiles – 管理静态文件的框架。

创建数据库表

python manage.py migrate

Django(3)-创建第一个数据模型-ORM映射,Django,django,sqlite,数据库

创建模型

在 Django 里写一个数据库驱动的 Web 应用的第一步是定义模型 - 也就是数据库结构设计和附加的其它元数据.
在这个投票应用中,需要创建两个模型:问题 Question 和选项 Choice。Question 模型包括问题描述和发布时间。Choice 模型有两个字段,选项描述和当前得票数。每个选项属于一个问题。

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

每个模型被表示为 django.db.models.Model 类的子类。每个模型有许多类变量,它们都表示模型里的一个数据库字段。
每个字段都是 Field 类的实例 - 比如,字符字段被表示为 CharField ,日期时间字段被表示为 DateTimeField 。这将告诉 Django 每个字段要处理的数据类型。

创建数据库表

makemigrations 命令,Django 会检测你对模型文件的修改,并且把需改的部分储存为一次迁移。
migrate 命令,在数据库里创建新定义的模型的数据表:

$ python manage.py makemigrations polls
$ python manage.py migrate

Django(3)-创建第一个数据模型-ORM映射,Django,django,sqlite,数据库

改变模型需要这三步:

编辑 models.py 文件,改变模型。
运行 python manage.py makemigrations 为模型的改变生成迁移文件。
运行 python manage.py migrate 来应用数据库迁移。
Django(3)-创建第一个数据模型-ORM映射,Django,django,sqlite,数据库Django(3)-创建第一个数据模型-ORM映射,Django,django,sqlite,数据库
打开db.sqlite3可以看到创建的数据库和表。

数据库API

https://docs.djangoproject.com/zh-hans/4.2/topics/db/queries/
进入交互式 Python 命令行

$ python manage.py shell

manage.py 会设置 DJANGO_SETTINGS_MODULE 环境变量,这个变量会让 Django 根据 mysite/settings.py 文件来设置 Python 包的导入路径。

Django(3)-创建第一个数据模型-ORM映射,Django,django,sqlite,数据库
objects.all()方法返回对象的__str__内容,可以看到在无数据时返回的是空
创建对象q后,使用q.save()保存对象
q.id获取对象的id
q.question_text获取对象的字段值

ORM映射

在 Django 中,ORM(对象关系映射)是一种将数据库表映射到 Python 对象的技术。Django 的 ORM 提供了简单而强大的方式来与数据库进行交互,而无需编写原始的 SQL 查询语句。下面是 Django ORM 的映射示例:

  1. 定义模型类:在 Django 中,模型类表示数据库中的表,每个模型类都是一个 Python 类,它继承自 django.db.models.Model
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publication_date = models.DateField()

上面的代码定义了一个名为 Book 的模型类,包含了 titleauthorpublication_date 三个字段。

  1. 执行数据库迁移:在定义完模型类后,需要运行 Django 的数据库迁移命令来创建对应的表结构。
python manage.py makemigrations  # 创建迁移文件
python manage.py migrate         # 应用迁移文件,创建数据库表
  1. CRUD 操作:一旦模型类和数据库表创建完毕,就可以使用 Django 的 ORM 来进行数据库的增删改查操作了。例如:
# 创建一本书
book = Book(title='Django ORM Guide', author='John Doe', publication_date='2023-01-01')
book.save()

# 查询所有的书籍
books = Book.objects.all()

# 根据条件查询书籍
book = Book.objects.get(title='Django ORM Guide')

# 更新书籍信息
book.title = 'Updated Title'
book.save()

# 删除一本书
book.delete()

以上是 Django ORM 的基本映射和使用示例,ORM 还提供了更多高级的查询和操作方式,如过滤查询、关联查询、聚合函数等。可以参考 Django 官方文档来了解更多详细信息:https://docs.djangoproject.com/文章来源地址https://www.toymoban.com/news/detail-672920.html

到了这里,关于Django(3)-创建第一个数据模型-ORM映射的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django、数据库----------ORM框架

    目录 1.安装第三方模块 2.ORM 1.自己创建数据库 2.django连接数据库 3.django操作表 创建表:在models.py文件中 删除表以及修改表 在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据 Django开发操作数据库更简单,内部提供了ORM框架。   ORM可以

    2024年02月09日
    浏览(44)
  • Django ORM:最全面的数据库处理指南

    深度探讨Django ORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作。同时,我们还讨论了模型深入理解,如何进行CRUD操作,并且深化理解到数据库迁移等高级主题。为了全面解读Django ORM,我们也讨论了其存在的不足,并对其未来发展进行了展望。

    2024年02月13日
    浏览(48)
  • Django ORM:数据库操作的Python化艺术

    Django的对象关系映射器(ORM)是其核心功能之一,允许开发者使用Python代码来定义、操作和查询数据库。这篇文章将带你深入了解Django ORM的强大之处,从基本概念到高级查询技巧,提供丰富的示例帮助你掌握使用Django ORM进行有效和高效的数据库操作。 Django ORM的目的是提供一

    2024年02月04日
    浏览(49)
  • 三、python Django ORM postgresql[数据定时备份、数据恢复]

    解释:备份指定数据库,能有效在发生错误时,预防错误,进行恢复 免密 cron 日志查看: tail -f -n 200 /var/log/syslog systemd timer 解释:因为博主在自己电脑上怎么用cron都不行,故使用了这个,其效果同cron类型,但效率甚至比cron高出一点点 vim /etc/systemd/system/mytask.service vim /etc/

    2024年02月13日
    浏览(25)
  • django如何连接sqlite数据库?

    目录 一、SQLite数据库简介 二、Django连接SQLite数据库 1、配置数据库 2、创建数据库表 三、使用Django ORM操作SQLite数据库 1、定义模型 2、创建对象 3、查询对象 总结 本文将深入探讨如何在Django框架中连接和使用SQLite数据库。我们将介绍SQLite数据库的特点,Django的数据库配置,以

    2024年02月06日
    浏览(40)
  • 【Django】Django创建一个文件下载服务

    当使用Django创建一个下载服务时,您可以设置一个视图来处理文件下载请求,并根据您的需求提供文件下载链接。以下是一个简单的示例,演示如何在Django中实现基本的文件下载服务: 创建Django项目和应用: 首先,确保您已经创建了一个Django项目,并在其中创建了一个应用

    2024年02月11日
    浏览(44)
  • Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查

    数据库操作 MySQL数据库+pymysql Django开发操作数据库更简单,内部提供了ORM框架。 安装第三方模块 ORM可以做的事: 1、创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】 2、操作表中的数据(不用写SQL语句)。 1、自己创建数据库 1)启动MySQL服务 2)自带

    2024年02月14日
    浏览(43)
  • Django 初级指南:创建你的第一个 Django 项目

    Django 是一个强大的 Python Web 框架,它采用了“模型-视图-控制器”(MVC)的设计模式,能够帮助开发者快速、简洁地创建高质量的 Web 应用。这篇文章将引导你创建你的第一个 Django 项目。 首先,你需要在你的 Python 环境中安装 Django。你可以使用 pip 包管理器来安装: 你可以

    2024年02月13日
    浏览(42)
  • 【Django】Django ORM Cookbook--20230427

    英文版http://books.agiliq.com/projects/django-orm-cookbook/en/latest/ 中文版https://django-orm-cookbook-zh-cn.readthedocs.io/zh_CN/latest/query.html 相同的模型类 不同的模型类 reporter__username=‘John’ 这个和 User.objects.distinct(“first_name”).all() 不同, User.objects.distinct(“first_name”).all() 会获取遇到的不同的

    2024年02月01日
    浏览(30)
  • 创建一个django项目详细说明

    1.首先安装django   pip install django 2.创建django项目 输入命令后自动生成相关文件 manage.py文件:这是管理Django项目的重要命令行工具,它主要用于启动项目、创建应用和完成数据库的迁移等。 settings.py文件:这是Django项目的配置文件,包含了项目的基本信息、静态文件路径、模

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包