django-创建表的字段属性,表关系
表的各种属性文档:null char ..., django与之对应的文档
- https://docs.djangoproject.com/en/1.11/ref/models/fields/ 英文
- https://yiyibooks.cn/xx/Django_1.11.6/ref/models/fields.html 中文
表关系
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-创建表的字段属性,表关系的更多相关文章
- Django创建数据库常用字段及参数
Django创建数据库常用字段及参数 常用字段 1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列 ...
- Linux下修改MySQL数据表中字段属性
一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类 ...
- Python - Django - ORM 常用的字段属性
字段参数: null:用于表示某个字段可以为空 unique:如果设置为 unique=True,则该字段在此表中必须是唯一的 db_index:如果 db_index=True,则代表着为此字段设置 ...
- (转)arcengine+c# 修改存储在文件地理数据库中的ITable类型的表格中的某一列数据,逐行修改。更新属性表、修改属性表某列的值。
作为一只菜鸟,研究了一个上午+一个下午,才把属性表的更新修改搞了出来,记录一下: 我的需求是: 已经在文件地理数据库中存放了一个ITable类型的表(不是要素类FeatureClass),注意不是要素 ...
- sql 如何更改表的字段属性
alter table tablename alter column colname newDataType 比如:ALTER TABLE mytable ALTER COLUMN myco ...
- Oracle中查看所有表和字段以及表注释.字段注释
获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 sele ...
- oracle中查看所有表和字段以及表注释字段注释
获取表:select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 selec ...
- Django(七)模型:字段属性、字段选项(参数)
一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...
- HTML 5 服务器发送事件、Input 类型、表单元素、表单属性
HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器 ...
随机推荐
- [翻译]PyMongo官方文档
PyMongo官方文档翻译 周煦辰 2016-06-30 这是本人翻译的PyMongo官方文档.现在网上分(抄)享(袭)的PyMongo博客文章很多,一方面这些文章本就是抄袭的,谈不上什么格式美观,另 ...
- Ant是什么
Ant是什么? 一.总结 一句话总结: 编译 打包 测试 工具 xml Ant是Java的生成工具,是Apache的核心项目: Ant类似于Unix中的Make工具,都是用来编译.生成: Ant是跨平 ...
- vscode的keybindings.json 和 AHK 脚本映射Win键
vscodehotkey.ahk https://github.com/m2nlight/AHKVSCodeLikeMac ; Shortcuts like mac ; Written by Bob ...
- 如何高效利用 GitHub
正是 Github,让社会化编程成为现实.本文尝试谈谈 GitHub 的文化.技巧与影响. Q1:GitHub 是什么 Q2:GitHub 风格 Q3: 在 GitHub,如何跟牛人学习 Q4: 享受 ...
- Granting and Managing Item Level Permission using SharePoint2013 Designer Workflow
https://gnanasivamgunasekaran.wordpress.com/2015/12/29/granting-and-managing-item-level-permission-u ...
- qt Cannot connect creator comm socket /tmp/qt_temp.S26613/stub-socket: No such
Tool->Options->Environment->General 将terminal改为 xterm -e
- 表单验证jq.validate.js
源代码--demo Validate:function(){ var me=this; var $form = $('#form'); //添加自定义方法: 同时验证手机和座机电话 jQuery ...
- 内存泄漏 之 MAT工具的使用
1 内存泄漏的排查方法 Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 : · heap 查看堆的分配情况 · ...
- 项目代码matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- c++ 读取所有图片
copyright by Jun Yang, SUN YAT-SEN UNIVERSITY //FileList.h ///////////////////////////////////////// ...