本文实例讲述了django框架面向对象ORM模型继承用法。分享给大家供大家参考,具体如下:
在宁波等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计、外贸营销网站建设 网站设计制作定制设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站建设,宁波网站建设费用合理。Django ORM对模型继承的支持,将python面向对象的编程方法与数据库面向关系表的数据结构结合的很巧妙。支持三种风格的模型继承。
1.抽象类继承:父类继承自models.Model,但不会在底层数据库中生成相应的数据表,父类的属性列存储在其子类的数据表中。
2.多表继承:多表继承的每个模型类都在底层数据库中生成相应的数据表管理数据。
3.代理模型继承:父类用于在底层数据库中管理数据表,而子类不定义数据列,只定义查询数据表的排序方式等元数据。
1.抽象基类继承举例如下:
from django.db import models class Message(models.Model): id = models.AutoField(default=0) content = models.CharField(max_length=100) user_name = models.CharField(max_length=80) pub_date = models.DateField() class Meta: abstract = True #证明该类是抽象基类 class Moment(Message): headline = models.CharField(max_length=50) LEVELS = ( ('1', 'Very Good'), ('2', 'Good'), ('3', 'Normal'), ('4', 'Bad'), ) class Coment(Message): level = models.CharField(max_length=50, choices=LEVELS, default=LEVELS[3])