您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django抽象模型vs简单Python mixins vs Python ABC

Django抽象模型vs简单Python mixins vs Python ABC

我会尽量简短些,因为这很容易变成冗长的异味:

ABC之所以出现是因为它们仅在Python 2.6中引入,并且Django开发人员为Python版本支持设置了路线图(2.3支持仅在1.2中被删除)。

至于对象继承混合器,它们在Python方面要比在减少可读性方面更具Python风格。DjangoModelBaseModel对象使用元类,该元类实际上在初始化时分析定义的模型属性,并Model._Meta使用字段,Meta选项和其他属性填充。对于两种类型的模型都可以重用该框架。这也允许Django防止继承模型来覆盖抽象模型字段。

我能想到的原因还有很多,它们全都是次要的,但是它们加起来会使当前的实现变得更加Pythonic。但是,使用对象继承混合器并没有本质上的错误

python 2022/1/1 18:37:50 有232人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶