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 增加了索引

 

 

 

 

 

----

posted on 2017-05-26 14:20  蒋乐兴的技术随笔  阅读(320)  评论(0编辑  收藏  举报

导航