Django中ORM表的创建和增删改查方法示例

下面我将为您详细讲解Django中ORM表的创建和增删改查方法示例的攻略。

ORM表的创建

在Django中,创建ORM表需要用到模型(Model)类。模型类是Django提供的一种将数据库表映射为Python类的方式,它定义了一个表在数据库中的结构及其所需要具备的特性。

创建ORM表步骤如下:

  1. 在项目的app目录下的models.py文件中创建模型类。

例如我们现在要创建一个学生表,包含学生的学号、姓名、性别,可以按照以下方式定义模型类:

from django.db import models

class Student(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    gender = models.CharField(max_length=10)

其中,Student是模型类的名称,继承自models.Model,id、name、gender是模型类的属性,分别对应表中的三个字段,同时定义了每个属性的类型。在这里,我们以AutoField作为主键,CharField作为学生姓名和性别的类型。

  1. 创建迁移文件。

在models.py中创建完模型类后,我们需要通过Django的ORM工具来创建数据库表,需要生成迁移文件。迁移文件是用于记录模型类中字段以及相关信息的变更的文件。

在终端中进入项目目录,使用以下命令创建迁移文件:

$ python manage.py makemigrations
  1. 执行迁移文件。

执行迁移文件后,会在数据库中创建相应的表,使用以下命令进行迁移:

$ python manage.py migrate

增删改查方法示例

创建好ORM表后,我们还需要对ORM表进行增删改查操作。Django提供了多种方式来完成这些操作,我们在下面的示例中详细介绍CRUD的使用方法。

示例1:增加一条记录

new_student = Student(name='Tom', gender='男')
new_student.save()

上述代码实现了向Student模型类对应的数据库表中添加一条记录,包含姓名和性别。

示例2:查询记录

students = Student.objects.all()

上述代码返回Student模型类对应的数据库表中的所有学生记录。

male_students = Student.objects.filter(gender='男')

上述代码返回符合条件的学生记录,其中gender='男'为过滤条件。

示例3:修改记录

student = Student.objects.get(name='Tom')
student.name = 'Jerry'
student.save()

上述代码实现了查询到一个名为Tom的学生记录,将其姓名修改为Jerry。

示例4:删除记录

student = Student.objects.get(name='Tom')
student.delete()

上述代码实现了查询到一个名为Tom的学生记录,并将其从数据库中删除。

至此,Django中ORM表的创建和增删改查方法的示例已经讲解完毕。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django中ORM表的创建和增删改查方法示例 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • python django 增删改查操作 数据库Mysql

    下面是详细讲解“python django 增删改查操作 数据库Mysql”的完整攻略。 简介 Python Django 是一种开源的 Web 框架,它利用了 Python 的强大功能和 MySQL 数据库的灵活性,在 Web 开发领域得到了广泛应用。本文将讲解如何使用 Django 进行 MySQL 数据库的增删改查操作,包括两个示例说明。 环境准备 在…

    Django 2023年5月16日
    00
  • Django if标签详解

    Django if标签是模板语言中的一种条件判断语句,可以在渲染模板时根据条件的真假来选择性地输出一些内容。它的基本语法是: {% if condition %} … content … {% elif other_condition %} … other content … {% else %} … fallback content .…

    Django 2023年3月12日
    00
  • django项目启动时报 ‘str’ object has no attribute ‘decode’

    今天在启动django项目是报错AttributeError: ‘str’ object has no attribute ‘decode’, 项目连接数据库时,出现这个错误,报错截图 处理过程:   点击最后一个报错信息,进入到下面这个页面    处理结果:   将上图用红色印记圈起来的代码直接注释掉,或者将代码里面的decode直接变为encode,这样…

    Django 2023年4月11日
    00
  • celery在Django项目中的使用案例

    一、逻辑分析 第一步:在项目根目录新建包 第二步:在使用提交异步任务的位置,导入使用即可 视图函数中使用,导入任务任务.delay() # 提交任务 第三步:启动worker,如果有定时任务,启动beat # 启动worker celery -A celery_task worker -l info -P eventlet # 启动beat celery -…

    2023年4月10日
    00
  • Django介绍

    1. 简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。 劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。 这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。 由于Djang…

    Django 2023年4月13日
    00
  • Django之Models操作

    一、字段 AutoField(Field) – int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) – bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models cla…

    Django 2023年4月16日
    00
  • Django admin实现图书管理系统菜鸟级教程完整实例

    我会提供详细的攻略,包含两个示例说明。 示例一:安装Django 首先,我们需要安装Django。我们可以通过以下步骤来完成: 确定Python版本:Django要求Python 3.6及以上版本。可以通过运行以下命令确定Python版本: python -V 安装pip:pip是Python包管理器,我们可以使用pip来安装Django。在终端中运行以下命…

    Django 2023年5月16日
    00
  • Django Rest Framework之用户频率/访问次数限制

      settings.py: REST_FRAMEWORK = { ‘DEFAULT_THROTTLE_CLASSES’:[‘api.utils.mythrottle.UserThrottle’,] ‘DEFAULT_THROTTLE_RATES’: { ‘未认证用户’: ’10/m’, ‘已认证用户’: ‘100/h’, }, }   mythrottle…

    2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部