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.


综上:

一对多 多表连接

djangoORM 修改表结构/字段/外键操作的更多相关文章
- Oracle修改表结构字段名和字段长度
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...
- mysql 修改表结构以支持事务操作
修改表的类型为 INNODB 的 SQL: alter table category_ ENGINE = innodb; 查看表的类型的 SQL show table status from ...
- 在sql设计中没法修改表结构
在做练习的时候经常表没设计好,后来有要去数据库修改表结构但是没词用界面修改的时候都会提示要保存 转自http://www.57xue.com/ItemView/Sql/2016061600160.ht ...
- SQL Server 修改表结构被阻止 解决办法
在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图 ...
- mysql之字段的修改,添加、删除,多表关系(外键),单表详细操作(增删改)
字段的修改.添加和删除 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 ...
- MySQ-表关系-外键-修改表结构-复制表-03
目录 前言 不合理的表结构(案例) 带来的问题 如何解决问题? 如何确定表关系? 表关系 一对多 多对多 一对一 应用场景 判断表关系最简单的语法 三种关系常见案例 如何建立表关系? 外键 forei ...
- 解决修改表结构,添加外键时出现“约束冲突”的错误
由于表结构更改,使用新建表,现有部分表需要更改外键,将引用更改到新建表的相应字段.在更改过程中,部分表出现如下错误提示: ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 ' ...
- Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询
Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...
- 增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结
1.为数据表添加一个新字段 Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULL GO 2.为数据表添加两个新字段 ...
随机推荐
- Haproxy+Keepalived构建高可用负载均衡集群
实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.16 ...
- luogu1368 工艺
题目链接 思路 \(SAM\)练手题,将原串重复一遍插入到\(SAM\)中,然后贪心走长度为n的一个路径即可. 不用担心会直接走到终点,根据\(SAM\)的构造方式可以发现会先走到前面的路径. 代码 ...
- vscode (1.41.0版本,1.41.1版本)node_modules部分TS声明文件@types包会导致该版本没JS语法提示
正常提示如下: 然而我的提示没了,本以为是插件问题,把所有插件禁用不行!卸载重装vscode还是不行!!但是其他电脑的1.41.1版本,同样代码确没问题!!!简直日了*了 折腾大半天,发下问题如下: ...
- Note | MATLAB
目录 1. 读写文件 简单读写 将rgb保存为yuv文件 从yuv文件中读取Y通道 将TIFF图片拼接为yuv文件 2. 字符串操作 3. 画图 4. 词频统计 1. 读写文件 简单读写 fp = f ...
- h5移动端页面强制横屏
说明:这个的原文章来自于https://www.jianshu.com/p/9c3264f4a405 ,我做点点补充 ,谢谢原链接的小姐姐 最近公司是要我做一个h5的小视频,因为是视频接视频,并且 ...
- vue+Element 表格中的树形数据
template部分 只在树形的结构中显示编辑与删除按钮 这里我只是简单的做了一个 v-if 判断在操作列中 ,判断是否存在级别这个字段 <div> <el-table :dat ...
- [开源]OSharpNS 步步为营系列 - 4. 添加业务对外API
什么是OSharp OSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架.这个 ...
- 物联网架构成长之路(34)-物联网数据可视化grafana展示
一.前言 前面介绍了利用后台业务服务器监听EMQ的Topic,作为EMQ的一个客户端方式来保存数据.然后将数据保存到时序数据库InfluxDB中.本小节就简单介绍一下如何安装和使用,及如何利用Graf ...
- python-4-格式化输出
前言 有些小伙伴在打印中乱码或者编码不对,在这里讲格式化输出前,先讲下编码.我们都知道目前主流使用就是utf-8编码. 一.编码简介 编码用来让计算机识别,当然我们都知道计算机只能识别01010101 ...
- Java单元测试简述
最开始项目中是没有单元测试的,基本都是自己通过各种方式来实现测试的.比如修改代码,测完再改回来:再比如直接模拟用户操作,直接当黑盒测试,然后自己去看相应的逻辑有没有,状态有没有改变. 这些方式有几个缺 ...