Django 创建model的一些注意事项
自增主键字段¶
默认情况下,Django 会给每个模型添加下面这个字段:
id = models.AutoField(primary_key=True)
这是一个自增主键字段。
如果你想指定一个自定义主键字段,只要在某个字段上指定primary_key=True 即可。如果 Django 看到你显式地设置了 Field.primary_key,就不会自动添加 id 列。
每个模型只能有一个字段指定primary_key=True(无论是显式声明还是自动添加)。
字段的自述名¶
除ForeignKey、ManyToManyField 和 OneToOneField 之外,每个字段类型都接受一个可选的位置参数 —— 字段的自述名。
如果没有给定自述名,Django 将根据字段的属性名称自动创建自述名 —— 将属性名称的下划线替换成空格。
在这个例子中,自述名是 "person's first name":
first_name = models.CharField("person's first name", max_length=30)
在这个例子中,自述名是 "first name":
first_name = models.CharField(max_length=30)
##########
first_name = models.CharField("person's first name", max_length=30) -->第一个参数可创建字段的自述名
first_name = models.CharField(max_length=30) -->若没有创建字段的自述名, Django 将根据字段的属性名称自动创建自述名—— 将属性名称的下划线替换成空格。
first_name 是字段的属性名。
##########
下面是几个特例,特例的原因是在于这些字段的第一参数是模型,而不是参数,需要使用verbose_name关键字参数来指定自述名。
ForeignKey、ManyToManyField 和 OneToOneField 都要求第一个参数是一个模型类,所以要使用verbose_name 关键字参数才能指定自述名:
poll = models.ForeignKey(Poll, verbose_name="the related poll")
sites = models.ManyToManyField(Site, verbose_name="list of sites")
place = models.OneToOneField(Place, verbose_name="related place")
习惯上,verbose_name 的首字母不用大写。Django 在必要的时候会自动大写首字母。
Django 创建model的一些注意事项的更多相关文章
- django创建model
1.model实例 #!/usr/bin/python # coding:utf-8 from __future__ import unicode_literals from django.db im ...
- django 创建model(数据库表)失败
在models.py中创建数据库表 from django.db import models # Create your models here. class Book(models.Model) ...
- django使用model创建数据库表使用的字段
Django通过model层不可以创建数据库,但可以创建数据库表,以下是创建表的字段以及表字段的参数.一.字段1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一 ...
- Django之Model操作
Django之Model操作 本节内容 字段 字段参数 元信息 多表关系及参数 ORM操作 1. 字段 字段列表 AutoField(Field) - int自增列,必须填入参数 primary_ke ...
- Django之Model组件
Model组件在django基础篇就已经提到过了,本章介绍更多高级部分. 一.回顾 1.定义表(类) ##单表 from django.db import models class user(mode ...
- Django框架简介与使用注意事项
一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...
- 利用django创建一个投票网站(一)
这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...
- django创建项目
django创建项目 安装django pip install django==1.9 Note: C:\Python34\Scripts\pip.exe 创建项目 django-admin star ...
- Python之路【第二十二篇】:Django之Model操作
Django之Model操作 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bi ...
随机推荐
- java获取request的头信息
1.获取全部头信息: //get request headers private Map<String, String> getHeadersInfo() { Map<String, ...
- hibernate 返回自定义对象
关键代码老是忘记 setResultTransformer(Transformers.aliasToBean(LabourResult.class)) 代码用例: public List<Lab ...
- 前端标注软件-pxcook像素大厨使用心得
我们在日常开发过程中,设计师给提供的UI图,经常需要标注尺寸,有时候设计师难免会遗漏标注,这样就会大大的增加我们的沟通成本,因此,使用一款好用的标注软件就尤为重要,我推荐这款标注软件---pxcook ...
- package和package-lock区别;dependencies和devDependencies区别
package和package-lock package.json: 主要用来定义项目中需要依赖的包 package-lock.json: 在 npm install时候生成一份文件,用以记录当前状态 ...
- git 永久性设置密码
git 设置不需要输入密码 https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --g ...
- PHPStorm-Mintfy-And-Color-Schema
美化Php-storm 1.隐藏一些工具条 打开一个项目后我习惯把一些工具条隐藏,在view菜单中把Tool buttons,Status bar,Navigation bar. CTRL+E 切换当 ...
- EMSAscript
1.javaScript 中const.var.let区别 const 定义的变量不可修改 而且必须初始化 =>解决闭包变量污染问题 var 定义的变量可以修改 如果不初始化则默认值为undef ...
- ArcSDE 10.2 for Oracle 12C安装注意事项
ArcSDE 10.2 for Oracle 12C安装注意事项 1.环境说明 从ArcSDE10.2.1开始支持Oracle 12C. 2.安装注意事项 SDE空间数据库可以安装到PDB中,使用Cr ...
- Openstack实践(1)部署使用实例及neutron网络
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 如何快速部署使用openstack,使用kolla吧,o ...
- 3.用less浏览文件内容
less 命令是一个用来浏览文本文件的程序.纵观 Linux 系统,有许多人类可读的文本文件.less 程序为我们检查文本文件 提供了方便. 什么是“文本” 在计算机中,有许多方法可以表达信息.所有的 ...