python - Django 模型 : Inherit from variable abstract base class

标签 python django inheritance django-models model

我希望从变量抽象基类继承到子类。因此,子类不必从预定义的基类继承,而是可以从多个基类中的任何一个类继承。理想情况下,模型的设置如下:

class Orders(models.Model):
    order_number = models.IntegerField()
    # Orders metrics
    class Meta:
        abstract = True


class Fees(models.Model):
    fee_number = models.IntegerField()
    # Fee metrics
    class Meta:
        abstract = True


class Transactions(Inherit from either Orders or Fees):
    transaction_number = models.IntegerField()
    # Transaction metrics

交易可以继承订单或费用,因为它们都可以是交易的来源。 可以实现通用外键以允许订单模型和费用模型中的可变外键引用,但我很好奇是否有一种方法可以在不使用通用外键的情况下做到这一点。是否有特定的安排、混合、装饰器、属性或方法允许将子类与变量抽象父类关联?

最佳答案

这是不可能的。但是,通过创建从 TransactionFeesOrderForeignKey 关系,可以轻松实现您想要的目标。

关于python - Django 模型 : Inherit from variable abstract base class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415338/

相关文章:

python - 如何在 Gtk+ 3 中向 GtkBox 添加 css 样式

python - 我可以在 Django 中的单个表单中使用多个表单集吗?如果可以,如何?

javascript - Django - 使用脚本实时获取 HTML 中两个元素之间的 "total"

python - 在 Python 中,mixin 是否等同于组合?如果是这样,那为什么不直接使用组合呢?

c# - 在父类上调用静态方法时,父类可以推断出子类(C#)的类型吗?

inheritance - 对象表达式和错误 FS0419 : 'base' values may only be used to make direct calls to the base implementations of overridden members

python - 谷歌应用引擎(python)混淆类 'object has no attribute'错误

python - 如何根据pandas中的范围获取列中的 bool 值

python - 无法导入设置。不支持按名称导入

django - 主管与 ENOENT 一起退出