django abstract base class ---- 抽象基类
抽象蕨类用于定义一些同享的列、类本身并不会在数据库端有表与之对应
一、例子:
1、定义一个叫Person 的抽象基类、Student 继承自Person
from django.db import models # Create your models here. class Person(models.Model): name=models.CharField(max_length=8) class Meta: abstract=True # 抽象基类的实现是class Meta class Student(Person): major=models.CharField(max_length=8)
2、由于Person类并不会在数据库端建立表、所以找不到相关的表;但是Student表中记录了name列
CREATE TABLE `clienta_student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(8) NOT NULL, -- 可以看出这个name 是从Person继承而来的 `major` varchar(8) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
----