Django学习笔记(二)——Model专题

本文详细探讨了Django中的Model专题,包括配置数据库、ORM、模型定义与关系、元选项、模型成员、创建对象及查询操作。重点讲解了模型查询集的使用,如过滤、切片、缓存、字段查询、跨关联查询、聚合函数以及F对象和Q对象的运用。
摘要由CSDN通过智能技术生成

Model专题

Django对各类数据库提供了很好的支持,并提供了统一的调用API

配置数据库

①__init__.py
# __init__.py
import pymysql
# 导入mysql数据库api
pymysql.install_as_MySQLdb()
②settings.py
# settings.py
DATABASES = {
   
    'default': {
   
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django',
        'USER': 'root',
        'PASSWORD': '0000',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

操作流程

配置数据库
修改__init__.py和settings.py文件
定义model类型,一个类型对应一张数据库表
# myapp/models.py
from django.db import models

class Students(models.Model):
    # 自定义模型管理器
    # 使用了自定义模型管理器后,objects就不存在了
    # stuObj = models.Manager()
    stuObj2 = StuManager()
    sname = models.CharField(max_length=20)
    sgender = models.BooleanField(default=True)
    sage = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    sgrade = models.ForeignKey('Grades')

class Students(models.Model):
    # 自定义模型管理器
    # 使用了自定义模型管理器后,objects就不存在了
    # stuObj = models.Manager()
    stuObj2 = StuManager()
    sname = models.CharField(max_length=20)
    sgender = models.BooleanField(default=True)
    sage = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    sgrade = models.ForeignKey('Grades')
生成迁移文件
注意:若要重新执生成迁移文件,需将myapp/migrations目录中,除了__init__.py文件以外的文件删除,再生成迁移文件
(learning_environment) F:\pythonfiles\learn_django\project>python manage.py makemigrations
Migrations 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值