引用父模型的 table 创建 Django 抽象子模型

Create Django abstract child model refering to the table of the parent model

我有一个模型 (Parent) 在第一个应用程序 (app1) 的数据库 (table app1_parent) 中有一个 table .

在另一个应用程序(app2)中,我想为这个Parent模型添加功能,但仍然参考现有的Parent table(table app1_parent),它是另一个应用程序的一部分 (app1)。

如果我在 app2 中创建仅继承自 ParentChild 模型,我最终会得到两个不同的 table:app1_parentapp2_child

我想知道我是否可以创建一个(抽象的?)子模型 (Child),它引用 Parent 模型的 table,而不添加额外的字段,但添加了新的方法和属性。 (基本上我想做与抽象 tables 已经建立的相反的事情)

class Parent(models.Model):
    my_field = models.CharField(max_length=255)

class Child(Parent):
    
    def my_method(self):
        return 'done'

    class Meta:
        abstract = True

还有其他方法可以实现我的结果吗?

PS:当然objective不会修改app1.Parent模型和app1.parenttable

OK,我终于找到了解决方案我自己的答案:使用Django代理模型实现单-table继承:

class Child(Parent):
    
    def my_method(self):
        return 'done'

    class Meta:
        proxy= True

关于如何扩展单table 继承以将子模型标识为父模型的“不同”以及它们之间的很好的答案: