zoukankan      html  css  js  c++  java
  • ORM

    创建数据库表

    一、在models.py 中种创建模型类

    ##一个表对应一个模型类

    class BookInfo(models.Model):
    # 每一个字段对应 表中的一列
    title = models.CharField(max_length=30)
    # auto_now_add=True 意味着默认时间为 该行插入时间
    pub_date = models.DateTimeField(auto_now_add=True)

    class HeroInfo(models.Model):
    name = models.CharField(max_length=30)
    # bool 类型性别 默认值为true 代表男
    gender = models.BooleanField(default=True)
    # null = True 代表该列可以为空
    skill = models.CharField(max_length=50,null=True)
    # ForeignKey 表名和BookInfo为多对一关系
    # book 的类型 BookInfo
    book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)

    二、生成迁移文件

    在 manage.py 目录
    Python manage.py makemigrations
    该命令会在应用的migrations目录生成 带有编号的迁移文件

    三、执行迁移文件

    在 manage.py 目录
    Python manage.py migrate

    Django默认使用sqlite3 数据库
    上述命令会在项目根目录生成sqlite3.db

    **** 迁移文件 需要预先注册应用

    四、使用Shell命令行测试django数据

    Python manage.py shell

    From booktest.models import BookInfo,HeroInfo

    1、查询
    得到所有
    BookInfo.objects.all()

    关联查询:
    一找多: 一方对象. 多方类名小写_set.all()
    多找一:通过多方模型类中存储的一方字段

    2、插入
    构造对象 b1
    b1.save()
    3、修改
    对象.save() 会将对象中更改的字段保存到数据库
    4、删除
    对象.delete()

    五、每一个模型类都自带管理器对象 objects(Manage类型)

    通过objects操作对象

  • 相关阅读:
    CF704D Captain America 上下界网络流
    CF241E Flights 差分约束
    CF1063F String Journey DP、SAM、线段树
    AGC028E High Elements 贪心、DP、线段树
    Solution -「CF 623E」Transforming Sequence
    Solution -「十二省联考2019」春节十二响
    最大团-最小度不等式
    「Lagrange 插值」学习笔记
    Solution -「NOI.AC 省选膜你赛」union
    Solution -「NOI.AC 省选膜你赛」T2
  • 原文地址:https://www.cnblogs.com/ldsice/p/10948476.html
Copyright © 2011-2022 走看看