django drf 开发 ~ models基础学习

零 介绍
  对于ORM框架,可以简单的认为自定义类U表示数据库的表;根据类创建的对象表示数据库表
一 数据表设计
  1 类型统计
     CharField->(string)->(1 max_length 设置字段长度 2 choices = chose),下面是包含着验证
    1 EmailField
    2 GenericIPAddressField
    3 URLField
    4 TextField
    5 JSONField
    6 choice = {('','')}
    7 DateTimeField->(time)->(1 auro_now_add=True 不更新时间2 default=datetime.datetime.now 3 auto_add=True 更新时间)
    8 IntegerField ->(int)
  2 通用属性统计
    1 default 默认值设置
    2 verbose_name 详细说明,可以理解成comment
    3 db_index 是否在此列创建索引
   4 unique 是否唯一 (默认不唯一)->常用
   5 null 是否默认为空(默认不为空)->常用
二 元数据
  class meta 定义表的元数据
  1 db_table 自定义数据库表名
  2 permissions 在Django Admin管理模块下使用的,如果你设置了这个属性可以让指定的方法权限描述更清晰可读
     eg:permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)
  3 verbose_name 版本名称
  4 verbose_name_plural 模型的复数形式 一般情况下版本名称一致
  5 unique_together 当你需要通过两个字段保持唯一性时使用 这会在 Django admin 层和数据库层同时做出限制
三 返回指定model的值
  def __unicode__(self):
   return self.LocationName
四 数据命令解析
  migrate: 用于执行迁移动作,具有syncdb的功能
  makemigrations: 基于当前的model创建新的迁移策略文件
五 相关问题
 1 删表
  1 注释相关models 2执行 python manage.py migrate myapp   (--fake(重置)) 
 2 丢失问题
  使用 django 过程中,发现丢失 migrate 的问题,在更新数据库的时候,需要 migrate 报错解决
  删除数据库,重新建库
  重置 migtate

上一篇:转:入门Webpack,看这篇就够了


下一篇:学习Shell脚本编程(第3期)_在Shell程序中使用的参数