开发者社区 问答 正文

Django 中模型的继承是什么呢?

Django 中模型的继承是什么呢?

展开
收起
游客vwuxaq6iqaowc 2021-11-05 19:02:13 433 分享 版权
1 条回答
写回答
取消 提交回答
  • 类同于 Python 的类继承,Django 也有完善的继承机制。Django 中所有的模型都必须继承 django.db.models.Model 模型,不管是直接继承也好,还是间接继承也罢。你唯一需要决定的是,父模型是否是一个独立自主的,同样在数据库中创建数据表的模型,还是一个只用来保存子模型共有内容,并不实际创建数据表的抽象模型。

    Django有三种继承的方式:

    抽象基类:被用来继承的模型被称为 Abstract base classes,将子类共同的数据抽离出来,供子类继承重用,它不会创建实际的数据表;多表继承:Multi-table inheritance,每一个模型都有自己的数据库表,父子之间独立存在;代理模型:如果你只想修改模型的 Python 层面的行为,并不想改动模型的字段,可以使用代理模型。

    2021-11-05 19:02:26
    赞同 展开评论
问答分类:
问答地址: