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.为数据表添加两个新字段 ...
随机推荐
- Vue 变异方法splice删除评论功能
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 基于docker部署flask+gunicorn+nginx
nginx安装在/etc/下,项目映射在docker中的/var/www/下 1.创建docker容器将端口映射出来,将docker外的项目映射到docker中 #docker run -it -p ...
- MySQL实战45讲学习笔记:第四十五讲
一.本节概述 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长.虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限.比如,无符 ...
- JQuery插件 aos.js-添加动画效果
原文地址:http://www.mamicode.com/info-detail-1785357.html 简介: aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件.该动画库可以在页 ...
- Jsp自学1
jsp学习之初,我是用记事本(EditPlus)来进行编辑的,那么写好的jsp文件如何执行看到效果呢?不像html文件可以直接用浏览器打开,jsp文件需要先进行编译器的编译才能执行,而Tomcat就可 ...
- Spring Boot整合Mybatis配置详解
首先,你得有个Spring Boot项目. 平时开发常用的repository包在mybatis里被替换成了mapper. 配置: 1.引入依赖: <dependency> <gro ...
- 读书会荐书 - 关于Ada Lovelacer的书
今天很感谢Weny组织了这期读书会, 我受益良多. 会上我推荐了<中的精神>, 但是会后想起有更好的书. 就是关于Ada Lovelace的书. 先简单介绍一下Ada Lovelacer. ...
- Go语言中初始化变量中字面量&Type{}、new、make的区别
Go语言中new和make是内建的两个函数,主要用来创建分配类型内存.在我们定义生成变量的时候,可能会觉得有点迷惑,其实他们的规则很简单,下面我们就通过一些示例说明他们的区别和使用. 变量的声明 va ...
- flask-script、flask-admin组件
目录 flask-script 安装 使用 自定制命令 flask-admin 安装 简单使用 将表模型注册到admin中 如果有个字段是图片字段 flask-script 用于实现类似于django ...
- Lucene 写入一个文档到该文档可搜索延迟是多少?
我看的是最初版的lucene,1.4.3 结论是新写入的文档会先写入内存中,只有当到达一定阈值后才会刷新进磁盘,而搜索可以搜索到的数据由最初定义IndexSearcher时磁盘里的段数据决定,如果想要 ...