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 修改表结构/字段/外键操作的更多相关文章

  1. Oracle修改表结构字段名和字段长度

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...

  2. mysql 修改表结构以支持事务操作

    修改表的类型为 INNODB 的 SQL: alter table category_ ENGINE = innodb;     查看表的类型的 SQL show table status from ...

  3. 在sql设计中没法修改表结构

    在做练习的时候经常表没设计好,后来有要去数据库修改表结构但是没词用界面修改的时候都会提示要保存 转自http://www.57xue.com/ItemView/Sql/2016061600160.ht ...

  4. SQL Server 修改表结构被阻止 解决办法

    在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图 ...

  5. mysql之字段的修改,添加、删除,多表关系(外键),单表详细操作(增删改)

    字段的修改.添加和删除 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 ...

  6. MySQ-表关系-外键-修改表结构-复制表-03

    目录 前言 不合理的表结构(案例) 带来的问题 如何解决问题? 如何确定表关系? 表关系 一对多 多对多 一对一 应用场景 判断表关系最简单的语法 三种关系常见案例 如何建立表关系? 外键 forei ...

  7. 解决修改表结构,添加外键时出现“约束冲突”的错误

    由于表结构更改,使用新建表,现有部分表需要更改外键,将引用更改到新建表的相应字段.在更改过程中,部分表出现如下错误提示: ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 ' ...

  8. Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询

    Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...

  9. 增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结

    1.为数据表添加一个新字段 Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULL GO 2.为数据表添加两个新字段 ...

随机推荐

  1. windows下 go vscode编译运行方法

    1:直接在终端运行go run命令编译 2.安装code runner插件,根据箭头标示顺序,可以在右侧看到它支持的语言.

  2. Mondb

    1. MongoDB简介 • MongoDB是为快速开发互联网Web应用而设计的数据库系统.• MongoDB的设计目标是极简.灵活.作为Web应用栈的一部分.• MongoDB的数据模型是面向文档的 ...

  3. POJ2976Dropping tests(分数规划)

    传送门 题目大意:n个二元组a[i],b[i],去掉k个,求sigma a[i]/ sigma b[i]的最大值 代码: #include<iostream> #include<cs ...

  4. pwntools出现的一些问题

    pwntools用的好好的突然就不能用了总结了一些问题:ImportError:cannot import name ENUM_P_TYPE 解决方法为:将/usr/local/lib/python2 ...

  5. jquery改变表单某个输入框的值时,另一个或几个输入框的值同步变化,这里演示的是改变数量时价格同步变化

    效果如下,当我输入数量时,下面的价格同步变化 代码如下: 上图圈起来的事件是当input 框里面的值改变时触发的事件. 补图

  6. Javascript 实现倒计时效果

    代码来自于网上. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  7. ocelot性能测试

    网上搜索发现多篇文章指出ocelot的性能有问题,可是在ocelot项目issue提问中,维护者指出,ocelot的性能问题不大.瓶颈在于.net的httpclient. 我参考文章 https:// ...

  8. Linux查看日志常用命令(转载)

    转自: https://www.cnblogs.com/kbkiss/p/7567725.html -------------------------------------------------- ...

  9. C 补充

    a++与++a的区别 #include <stdio.h> void main(){ int a=5,b=5; int i=0; for(i=0;i<2;i++){ printf(& ...

  10. Navicat for Mysql安装及破解教程

    一.Navicat for Mysql安装 下载链接:https://navicatformysql.en.softonic.com/ 点击download下载. 下载完成后双击安装 二.破解 破解工 ...