码迷,mamicode.com
首页 > 其他好文 > 详细

Django官方文档之Model层

时间:2015-10-18 12:53:39      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

一.模型继承

  1.抽象基类继承

    抽象基类:

    抽象基类主要是作为一个信息集合,用在许多模型拥有共同信息的场合,本质上只是一个存储信息的容器,数据库中不创建表结构,不能单独使用,子类通过继承来获得父                 亲基类的字段和元类型数据,通过设置Meta类的abstract=True属性来声明为抽象基类,否则,不会自动变为抽象基类,现举例如下:

      

 1 from django.db import models
 2 
 3 class CommonInfo(models.Model):
 4     name = models.CharField(max_length=100)
 5     age = models.PositiveIntegerField()
 6 
 7     class Meta:
 8         abstract = True      #声明为抽象基类
 9 
10 class Student(CommonInfo):   #继承了基类的字段属性
11     home_group = models.CharField(max_length=5)

    属性继承:内部元类Meta

    若子类没有声明自己的内部元类,它会继承父类的Meta属性,若子类想要使用扩展父类的Meta属性,可以子类化父基类的Meta属性,举例如下:

 

 1 from django.db import models
 2 
 3 class CommonInfo(models.Model):
 4     # ...
 5     class Meta:
 6         abstract = True
 7         ordering = [name]
 8 
 9 class Student(CommonInfo):
10     # ...
11     class Meta(CommonInfo.Meta):        #子类化父亲的Meta属性
12         db_table = student_info

    抽象基类外键多对多关系字段中的related_name选项的注意事项:

    理解的有点模糊,待写。

Django官方文档之Model层

标签:

原文地址:http://www.cnblogs.com/chzb/p/4889297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!