表的各种属性文档:null char ..., django与之对应的文档

表关系

class Book(models.Model):
headline = models.CharField('大标题', max_length=50)
pub_date = models.DateTimeField('出版时间',auto_now=True) class Meta:
db_table = 'book' # 映射到数据库的表名。不设置该属性,默认名字为appname_book app名字_类名
managed = True # 默认True 代表通过django管理该表结构,反之不操作book表
ordering = ['-pub_date', 'id'] # 排序 可通过多个字段排序 倒序添加"-"即可
verbose_name = '书籍' # 查询结果为单条记录的描述
verbose_name_plural = '书记柜' # 查询结果为多条数据的描述 class Number(models.Model):
number = models.IntegerField('编号')
book = models.OneToOneField(Book) # book与number一对一关系 OneToOneField代表一对一 不指定(to_field="id")关联字段,默认关联主键id class Author(models.Model):
name = models.CharField('姓名', max_length=100)
book = models.ManyToManyField(Book) # author与book可以是多对多 ManyToManyField代表多对多 class Reply(models.Model):
content = models.TextField('评论', max_length=200)
book = models.ForeignKey(Book) # reply与book是多对一关系 django是多对一,设置在'多'的表里 ForeignKey代表多对一

表关系外键可以传入的属性

  • ForeignKey 外键的属性(包括ManyToManyField,OneToOneField)
    • db_constraint:bool  是否建立外键约束
    • to_field:string 关联到的关联对象的字段名称。默认地,Django 使用关联对象的主键。
    • related_name: string 这个名称用于让关联的对象反查到源对象.如果你不想让Django 创建一个反向关联
    • on_delete: string 可以取如下值
      • CASCADE:级联删除,如果删除,相关联的那个也会删除
      • PROTECT:保护类型。如果删除,将会抛出一个ProtectedError错误
      • SET_NULL:如果删除了本条数据,外键的那条数据将会设置为null,这个只有在外键null为True的情况下才可以使用
      • SET_DEFAULT:如果删除了本条数据,外键那条数据将会职位默认值,这个只有在外键那个字段设置了default参数才可以使用

django-创建表的字段属性,表关系的更多相关文章

  1. Django创建数据库常用字段及参数

    Django创建数据库常用字段及参数 常用字段 1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列 ...

  2. Linux下修改MySQL数据表中字段属性

    一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类 ...

  3. Python - Django - ORM 常用的字段属性

    字段参数: null:用于表示某个字段可以为空 unique:如果设置为 unique=True,则该字段在此表中必须是唯一的 db_index:如果 db_index=True,则代表着为此字段设置 ...

  4. (转)arcengine+c# 修改存储在文件地理数据库中的ITable类型的表格中的某一列数据,逐行修改。更新属性表、修改属性表某列的值。

    作为一只菜鸟,研究了一个上午+一个下午,才把属性表的更新修改搞了出来,记录一下: 我的需求是: 已经在文件地理数据库中存放了一个ITable类型的表(不是要素类FeatureClass),注意不是要素 ...

  5. sql 如何更改表的字段属性

    alter table tablename alter column colname newDataType 比如:ALTER   TABLE   mytable ALTER COLUMN  myco ...

  6. Oracle中查看所有表和字段以及表注释.字段注释

    获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 sele ...

  7. oracle中查看所有表和字段以及表注释字段注释

    获取表:select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 selec ...

  8. Django(七)模型:字段属性、字段选项(参数)

    一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...

  9. HTML 5 服务器发送事件、Input 类型、表单元素、表单属性

    HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器 ...

随机推荐

  1. Redis高级命令操作大全--推荐

    redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf redis-stable.tar.gz cd ...

  2. mybatis 环境搭建和基本说明

    mybatis介绍就不多提了,直接步入正题. 先准备好eclipse和MySQL,然后先看一下目录结构 文件和类很少,所以mybatis的搭建是非常简单的,如搭建中遇到问题可以先参考文档最后一部分的综 ...

  3. windows下的IO模型之选择(select)模型

    1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字.让套接字进行工作. 选择模型的核心是FD_SET集合和select函数.通过该函数,我们可以 ...

  4. 本人遇到的spring事务之UnexpectedRollbackException异常解决笔记

    本人最近在使用spring事务管理的过程中遇到如下异常,导致服务端抛出500给前端,让搞前端的哥们抱怨我心里着实不爽,前前后后折腾了近半个小时才得于解决,今天就做个笔记,以免日后又犯这个错误.好了,错 ...

  5. IOS-网络(文件压缩和解压缩)

    // // ViewController.m // IOS_0206_文件上传 // // Created by ma c on 16/2/6. // Copyright © 2016年 博文科技. ...

  6. Java Mongodbjar包下载网址

    http://mongodb.github.io/mongo-java-driver/

  7. 流程设计器jQuery + svg/vml(Demo5 - 撤消与重做)

    上篇完成了画线,接下来是撤消与重做. 代码:GoFlow_05.zip 演示地址:Demo 微信演示公众号: 另:Silverlight版 Silverlight版Demo

  8. 创建私有的cocoapod库

    我是通过cocoachina 的一篇文章 跟着学习的 http://www.cocoachina.com/ios/20150228/11206.html 这里我简单描述下  主要还是给我自己记忆的   ...

  9. webpack实现修改代码实时刷新浏览器

    webpack例子:https://github.com/Aquarius1993/webpackDemo 1. 需要全局和项目安装webpack和webpack-dev-server npm ins ...

  10. 使TextView里面的文字滚动起来

    要使TextView里面的内容滚动起来,那么就要配置好几个参数, 1.focusable来获取焦点. 2.ellipsize来获得滚动的方法. 3.focusableInTouchMode来获取触摸方 ...