dango models and database ---- verbose name
一、django 自带ORM:
1、在django中用models.Mode来描述一张数据库中的表、而列用models.*Field来描述列
from django.db import models # Create your models here. class Person(models.Model): name=models.CharField("person's name",max_length=30) # 定义一张叫person 的表、表中包涵一个叫name的列; # django默认会为每一个表加上一个主键,主键名为id
2、这张表在mysql数据端看起来是这样的
CREATE TABLE `sitea_person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- mysql数据库端的表
3、由django的官方文档中所说、列的构造函数中的第一个参数表示的是verbose name 、但是这个verbose name 并没有体现到数据端
目前尚不知道这个verbose name 在哪里用!
4、目前django还不支持联合索引、但是普通索引可以这样建
from django.db import models # Create your models here. class Person(models.Model): name=models.CharField("person's name",max_length=30,db_index=True) # db_index=True 就会在这个列上建立索引
5、数据库端可以看到如下表结构
CREATE TABLE `sitea_person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, PRIMARY KEY (`id`), KEY `sitea_person_name_768c043b` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 已经为name 增加了索引
----