Django学习7:模型(models)

本文详细介绍了Django中的模型概念,包括模型与数据库表的关系、ORM(对象关系映射)的使用,如如何定义模型、配置数据库、创建和管理对象,以及查询操作。重点讲解了模型查询的各种过滤器、字段查询、聚合函数、F对象和Q对象的使用,帮助读者深入理解Django的数据库操作。
摘要由CSDN通过智能技术生成

模型

概述

Django对各种数据库提供了很友好的支持,统一的调用API,我们可以根据自己不同的业务需求选择不同的数据库。

配置数据库

__init__.py
import pymysql

pymysql.install_as_MySQLdb()

settings.py
# 修改DATABASES
{
    'default':{
        'ENGINE':'django.db.backends.mysql',
      'NAME':'数据库名',
      'USER':'数据库用户名',
      'PASSWORD':'数据库密码',
      'HOST':'localhost或者IP',
      'PORT':'3306'
    }
}

ORM简介

概述

对象 - 关系 - 映射

功能

  1. 根据类生成表结构
  2. 将对象、列表的操作转换为sql语句
  3. 将sql查询到的结果转为对象、列表

优点

极大的减轻了开发人员的工作量,不需要面对因数据库的改变而导致代码不能使用

定义模型

模型、属性、表、字段之间的关系

一个模型在数据库中对应一张表,在模型中定义的属性,对应该模型对照表中的一个字段

创建模型类

班级类

class Grades(models.Model):
  gname = models.CharField(max_length=10)
  gdate = models.DateTimeField()
  gboynum = models.IntegerField()
  ggirlnum = models.IntegerField()
  isDelete = models.BooleanField()

  # 重写 __str__() 方法
  def __str__(self):
    return self.gname

学生类

class Students(models.Model):
  sname = models.CharField(max_length=20)
  sage = models.IntegerField()
  sgender = models.BooleanField()
  scontend = models.CharField(max_length=40)
  isDelete = models.BooleanField()
  sgrade = models.ForeignKey('Grades')
  lastTime = models.DateField(auto_now=True)
  createTime = models.DateField(auto_now_add=True)

  def __str__(self):
    return self.sname

元选项

在模型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值