django -- verbose_name的对数据库层面的影响
一、没有verbose_name时model的定义:
from django.db import models # Create your models here. class Question(models.Model):
question_text = models.CharField(max_length=128) class Answer(models.Model):
question = models.ForeignKey(Question)
answer_text = models.CharField(max_length=128)
二、对应的SQL:
BEGIN;
--
-- Create model Answer
--
CREATE TABLE "polls_answer" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "answer_text" varchar(128) NOT NULL);
--
-- Create model Question
--
CREATE TABLE "polls_question" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "question_text" varchar(128) NOT NULL);
--
-- Add field question to answer
--
ALTER TABLE "polls_answer" RENAME TO "polls_answer__old";
CREATE TABLE "polls_answer" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "answer_text" varchar(128) NOT NULL, "question_id" integer NOT NULL REFERENCES "polls_question" ("id"));
INSERT INTO "polls_answer" ("id", "answer_text", "question_id") SELECT "id", "answer_text", NULL FROM "polls_answer__old";
DROP TABLE "polls_answer__old";
CREATE INDEX "polls_answer_question_id_d45b3e6d" ON "polls_answer" ("question_id");
COMMIT;
三、带有verbose_name的model定义:
from django.db import models # Create your models here. class Question(models.Model):
question_text = models.CharField(max_length=128) class Answer(models.Model):
question = models.ForeignKey(Question,verbose_name="related question id")
answer_text = models.CharField(max_length=128)
四、对应SQL层的代码:
BEGIN;
--
-- Create model Answer
--
CREATE TABLE "polls_answer" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "answer_text" varchar(128) NOT NULL);
--
-- Create model Question
--
CREATE TABLE "polls_question" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "question_text" varchar(128) NOT NULL);
--
-- Add field question to answer
--
ALTER TABLE "polls_answer" RENAME TO "polls_answer__old";
CREATE TABLE "polls_answer" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "answer_text" varchar(128) NOT NULL, "question_id" integer NOT NULL REFERENCES "polls_question" ("id"));
INSERT INTO "polls_answer" ("id", "answer_text", "question_id") SELECT "id", "answer_text", NULL FROM "polls_answer__old";
DROP TABLE "polls_answer__old";
CREATE INDEX "polls_answer_question_id_d45b3e6d" ON "polls_answer" ("question_id");
COMMIT;
五、总结:
由上面的两组代码可以看出verbose_name 在SQL层面没有具体的体现、也就是说加不加verbose_name
对数据库层面没影响。
----
django -- verbose_name的对数据库层面的影响的更多相关文章
- python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...
- Django学习笔记之数据库-数据库与模型
MySQL数据库 在网站开发中,数据库是网站的重要组成部分.只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面.数据库有很多,比如有SQL Server.Oracle.Postgr ...
- Django开发基础----操作数据库
Django中对数据库的操作是由Models来完成的 Models是什么? 通常,一个Model对应数据库的一张数据表 Django中Models以类的形式出现 它包含了一些基本字段以及数据的一些行为 ...
- SQL SERVER 2012 AlwaysOn– 数据库层面 02
搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念: DBA 不但要熟悉数据库也要熟悉操作系统的一些概 ...
- Django学习笔记之数据库-QuerySet_API
QuerySet API 我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作.其实模型名字.objects是一个django.db.models.manager.Manager对 ...
- 循序渐进Python3(十二) --2-- web框架之django简单实现oracle数据库操作
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接. 产能在软 ...
- Django开发笔记之数据库的设计
后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...
- Django 反向生成 从数据库生成Model
Django 反向生成 从数据库生成Model 使用Django生成Model python manage.py inspectdb或python manage.py inspectdb > m ...
- Scrapy中使用Django的Model访问数据库
Scrapy中使用Django的Model进行数据库访问 当已存在Django项目的时候,直接引入Django的Model来使用比较简单 # 使用以下语句添加Django项目的目录到path impo ...
随机推荐
- linux2.6.30.4内核移植(4)——完善串口驱动
在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动. 一.修改内核源码arch/arm/mach-s3c2440/ma ...
- 安装 LUA
为了以后方便,记录一下步骤 1.yum install readline-devel 2.wget http://www.lua.org/ftp/lua-5.1.4.tar.gz 3.cd lua-5 ...
- hdu4403A very hard Aoshu problem 线段树
//给一个长度为大于2小于15的字符串 //在当中间加'+'或'='使得其成为一个等式的方法的个数 //枚举等号位置.暴力搜索加号加的位置 #include<cstdio> #includ ...
- 转 PHP常用正则表达式汇总
1. 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 2. "^\d+$" //非负整数(正整数 + 0) 3. "^[0 ...
- ODI Studio拓扑结构的创建与配置(MySQL)
拓扑结构的创建与配置 一.概念解释 Topology Manager主要用来管理下面5类任务,并将信息存储在主资料库中,供所有模块共享使用. 物理体系结构: 定义各种技术及其数据服务器.物理架构.物理 ...
- COUNTA函数功能是返回参数列表中非空值的单元格个数
COUNTA:返回参数列表中非空值的单元格个数
- django之环境变量配置
1.配置python变量环境,C:\Python27\;C:\Python27\Scripts\ 2.配置django变量环境,C:\Python34\Lib\site-packages\Django ...
- 如何在cmd命令下运行python脚本
1.打开cmd窗口,输入:cd c:\\python27 (首先得确认python已加入环境变量) 2.第二条命令:python[空格]完整的python脚本路径,运行即可 3.一个案例: Micr ...
- fiddlescript 操作
什么是 JScript .NET Fiddler Script 是用JScript.NET语言写的 http://docs.telerik.com/fiddler/KnowledgeBase/Fidd ...
- [解决]java.lang.IllegalArgumentException: Bad level "DEBUG"
Tomcat启动报错,搞得烦的一比.常规思维就会迷瞪,谁让tomcat的日志级别特殊ne.... http://tomcat.apache.org/tomcat-7.0-doc/ 错误现象: Hand ...