django Proxy models ---- 代理模式
一个proxy models 不会在数据库中创建新的表、而是与它的基类共用同一个表
1、model 的定义:
from django.db import models # Create your models here. class Person(models.Model): name=models.CharField(max_length=8) class ProxyPerson(Person): class Meta: proxy=True def doSomething(self): pass # 定义了一个ProxyPerson类、proxy 和abstract 写法上并没有什么不一样; # 只是把abstract=True 变成proxy=True就行了
2、看数据库端的表:
CREATE TABLE `ln_person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(8) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 只有person 对应的表、ProxyPerson不会有表与之对应
----