如何通过继承扩展django抽象基础模型?

六月

我正在尝试通过继承扩展django抽象基础模型,但是django模型的行为会自动设置abstract = Trueabstract = False抽象模型的任何子类,这令我感到困扰。

所以情况是

from django.db.models import Model
from django.db.models.base import ModelBase

Class TimeStampedModel(Model):
    created_time = DateTimeField()
    modified_time = DateTimeField()

    class Meta:
        abstract = True
        ordering = ('created_time',)
        get_latest_by = 'created_time'


class RecordModelMetaClass(ModelBase):
    # NOT IMPLEMENTED YET
    pass


class RecordModel(TimeStampedModel):
    __metaclass__ = RecordModelMetaClass

    recording_model = NotImplemented
    recording_fields = NotImplemented

其中抽象TimeStampedModel是抽象RecordModel的基础模型。

问题是,Django的“元类ModelBase自动RecordModel的转换abstract = Trueabstract = False时RecordModel进口时间定义。

有什么办法可以关闭这种django的行为吗?

丹尼尔·罗斯曼

是的,这已记录在案

如果孩子想扩展父母的Meta类,则可以对其进行子类化。

在您的情况下:

class RecordModel(TimeStampedModel):
    class Meta(TimestampedModel.Meta):
        abstract = True

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NSUUID可以通过继承进行扩展吗?如何?

来自分类Dev

通过继承扩展shared_ptr

来自分类Dev

通过继承更好地设计Db的抽象

来自分类Dev

如何设置视图和控制器方法以通过继承绑定模型?

来自分类Dev

django抽象模型继承导入

来自分类Dev

Django抽象与非抽象模型继承

来自分类Dev

CodeIgniter无法实例化扩展抽象基础模型的模型

来自分类Dev

通过继承连接类变量?

来自分类Dev

通过继承从类型获取属性值

来自分类Dev

通过继承实现AVL树

来自分类Dev

ObjectBox 无法通过继承构建项目

来自分类Dev

通过继承的类模板 SFINAE

来自分类Dev

React:通过继承调用父的方法

来自分类Dev

如何通过继承在python中对请求进行子类化

来自分类Dev

如何通过继承向现有功能添加功能

来自分类Dev

如何通过继承有效使用鸭子类型

来自分类Dev

通过继承的静态方法创建继承类的新实例

来自分类Dev

在Django中结合抽象模型类和多表继承

来自分类Dev

Django,继承了抽象模型类的模型类也可以是抽象的吗?

来自分类Dev

Django的MutiTable与。抽象继承

来自分类Dev

通过继承设计具有共享功能的静态类

来自分类Dev

通过继承类中的声明获取当前类

来自分类Dev

C#:可以通过继承隐藏实现吗?

来自分类Dev

C ++通过继承std :: exception创建新的异常

来自分类Dev

通过继承类的字段进行GORM分离查询

来自分类Dev

在C ++中通过继承自定义PyObject

来自分类Dev

通过继承的运算符重载会导致歧义

来自分类Dev

JSONS在python中通过继承加载复杂对象

来自分类Dev

通过继承类中的声明获取当前类