djangoORM 修改表结构/字段/外键操作

Django支持修改表结构  

把max_length=64 改为60

再执行一遍   

python manage.py makemigrations

python manage.py migrate 

 

如果是增加一列

再执行一遍   

python manage.py makemigrations

会出现众多选项

如果选择1,会让你输入一个默认值  我们输入“alex”

再执行python manage.py migrate 

 就更新了数据库

 

 

 -------------

如果新加的一列可为空值Null

 

再执行一遍   

python manage.py makemigrations

python manage.py migrate 

 

 --------

如果想删除一列

注释掉 

 

 

再执行一遍   

python manage.py makemigrations

python manage.py migrate   

即可删掉

 

 

 

============================================================

model的字段类型介绍: 

字符串 

 数字

时间

二进制

自增(primary_key=True)

  http://www.cnblogs.com/wupeiqi/articles/5246483.html

 

 

model的字段参数介绍: 

 

 

示例:

 

 

 

auto_now --》

在更新时

第一种   ceo  update方法不适合django 更新 时间的方法     第二种可以

 choices -- -》

把存入的信息保存在内存中 而不存在数据库里 在数据库中满足一个链接 让页面直接链接数据库但显示内存  外键关系

作用:django admin中显示下拉框  避免连表查询

1.

 

2.

3.数据库变化

 

4.运行run  进入django admin  

 

 blank --》 在django admin  是否可以为空

1.不写blank 直接提交

 2. username可以为空   提交

 

 显示

 

 

 verbose_name-->  django admin 是否可以显示中文

 1.

 

2.

 

 

editable-->  django admin 是否可以被编辑

1.

 2.username消失

 

 

 

 help_text--》django admin 提示

 

vaildators --》django form ,自定义错误信息

 

 综上:

 

 Django ORM 外键操作

 不存进内存   表与表之间的关系  (基本:一对多  foreignKey)

例如:人与组关系

 

 

  表示关联UserGroup表的数据 

 to_field 表示关联的表中所关联的字段  必须唯一  如果不加上 默认也是主键

  设置默认值  是哪一个部门的

在创建列时 自动变成user_group

user_group 是一个对象 封装了uid caption  ctime uptime

当获取数据时:

 

 

 

 执行一遍     创建数据库

python manage.py makemigrations

python manage.py migrate 

现在数据库有两张表

 

此刻数据库有两张表

UserGroup 有四列

UserInfo 有七列 包括id自增

连接关系如下:

 

 格式如下:

 

 

 

 

 ----------------------

回到登录系统  外键连接操作

19.18

 

 

 ------------------

Django admin ORM 的外键实现增加用户

 

 1.

 

2.

运行 输入orm 点击 

3.

查看数据库

 

 

 4.添加部门下拉框

但在数据库 添加表部门时候  ,页面并不会更改

 

 

-------------------------------

修改:

即在第一次get请求时, 就更新框

1.

2.

 

 3.

 

 综上:

 

 

 一对多   多表连接

 

posted @ 2018-12-28 13:24  hmm1995  阅读(889)  评论(0编辑  收藏  举报