前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django ORM 知识概要

Django ORM 知识概要

作者头像
lin_zone
发布2019-02-22 15:00:53
1.8K0
发布2019-02-22 15:00:53
举报
文章被收录于专栏:LIN_ZONELIN_ZONE
  1. 相关命令
    1. python3 manage.py makemigrations 根据模型生成相关迁移文件
    2. python3 manage.py migrate 根据迁移文件,将表结构更新到数据库中,并在Django中带的migrations数据表中更改数据库记录
  2. 字段
    1. 常用的字段 1. 自增长字段 1. models.AutoField() 2. models.BigAutoField() 2. 二进制数据 1. models.BinaryField() 3. 布尔型 1. 允许为空 models.BooleanField() 2. 不允许为空 models.NullBooleanField() 4. 整型 1. 5个字节的正整数models.PositiveSmallIntegerField() 2. 6个字节的整数 models.SmallIntegerField() 3. 11个字节的整数 models.IntegerField() 4. 20个字节的整数 models.BigIntegerField() 5. 字符串类型 1. varchar models.CharField(max\_length=100) 2. longtext models.TextField()
代码语言:txt
复制
    6. 时间日期类型 
        1. 年月日 models.DateField()
            2. 年月日时分秒
 models.DateTimeField()
            3. 一段时间,在数据库中是int类型,底层是 Python timedelta 实现
 models.DurationField()
        7. 浮点型 
            1. models.FloatField()
            2. 可以指定整数多少位,小数多少位
 models.DecimalField()
        8. 其它字段 
            1. 邮箱
 models.EmailField()
            2. models.ImageField()
            3. models.FileField()
            4. models.FilePathField()
            5. models.URLField()
            6. models.UUIDField()
            7. IP地址,可以是IPV4,也可以是IPV6
 models.GenericIPAddressField()
    2. 关系型字段 
        1. 一对一
 models.OneToOneField(Model)
        2. 多对一
 models.ForeignKey(Model)
        3. 多对多
 models.ManyToManyField(Model)
    3. 字段类型参数 
        1. 所有字段都有的参数 
            1. db_column='name'
            2. primary_key=True
            3. verbose_name='别名或者注释'
            4. unique=True
            5. null=True,blank=True
            6. db_index=True 给表单建立索引
            7. help_text='' 表单中显示帮助信息
            8. editable=False 表单不可编辑
        2. 个别字段才有的参数 
            1. 给CharField 指定最大长度 max_length=100
            2. 时间 
                1. unique_for_date=True
                2. unique_for_month=True
                3. auto_now=True 更新时间
                4. auto_now_add=True 新增时间
            3. 浮点型 Decimal 
                1. max_digits=4 表示一共有多少位数
                2. decimal_places=2 表示小数有多少位
        3. 关系型字段的参数 
            1. related_name='name' 反向查询时候可能会用到
            2. on_delete=value
 value的值 
                1. CASCADE:删除引用的对象时,也删除引用它的对象
                2. PROTECT:禁止删除引用的对象。SQL等价物:RESTRICT。
                3. SET_NULL:将引用设置为NULL(要求字段可以为空),当字段设置null=True才可以使用
                4. SET_DEFAULT:设置默认值。只有当字段设置了default参数时才能使用 SQL等价物:SET DEFAULT。
                5. SET(value 或者 函数返回值):设置给定值。这个不是SQL标准的一部分,完全由Django处理。
                6. DO_NOTHING:SQL等价物:NO ACTION。
        4. 自关联 
            1. 写法一:
 modles.ForeignKey('self',verbose_name='自关联')
            2. 写法二:
 modles.ForeignKey('Model',verbose_name='自关联')
3. 

注: 本文知识点是根据自己的项目经验及慕课网的教学视频整理所得,

如需转载请注明出处:https://cloud.tencent.com/developer/article/1394420

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档