Django model 中meta options之 abstract

当abstract=True时,这个model就变成了abstrct base class,那这个基类有什么特性呢?

当某一model中设置了abstract=True时,就会使该model中的字段都不会产生对应的表,而是可以作为基类加入到其他model中

那有什么用呢?

有时多个model有些相同的字段,这样很浪费时间,而且重复本身也不利于代码简洁。好该abstract来了

看官例:

 

from django.db import models
class CommonInfo(models.Model):
  name = models.CharField(max_length=100)
  age = models.PositiveIntegerField()
    class Meta:
      abstract = True
    
class Student(CommonInfo):
    home_group = models.CharField(max_length=5)

 

 

 

 这样,这个student model就有三个字段分别为:name, age, home_group,其中前两个继承自abstract 基类。同样,这个abstract base class又可以继承另一个基类。

注意:

commonInfo基类不能当作普通的model来使用。同样abstract base class 也有一此无法设置的属性,例如:db_table,即表,很明显,你不会想继承了abstract 基类的model都用一个表。

 

posted on 2016-08-23 19:32 Andy_963 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Andy963/p/5793534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值