多表继承对象的Django转储数据

jpm*_*los 5 django django-models

我正在尝试./manage.py dumpdata --natural-foreign --natural-primary我的课程,它们是:

class SuperClassManager(Manager):
    def get_by_natural_key(self, identifier):
        return self.get(identifier=identifier)

class SuperClass(Model):
    objects = SuperClassManager()

    identifier = CharField(max_length=31, unique=True)

    def natural_key(self):
        return (self.identifier, )

class Class(SuperClass):
    pass
Run Code Online (Sandbox Code Playgroud)

但转储的数据是:

[
{
    "model": "app.superclass",
    "fields": {
        "identifier": "identifier"
    }
},
{
    "model": "app.class",
    "fields": {}
}
]
Run Code Online (Sandbox Code Playgroud)

在这种情况Class下,无法将SuperClass实例与实例相关联。我错过了什么?为什么不superclass_ptr存在 in Class(指向SuperClass)被序列化,以便可以关联实例?

问题是:我的超类有多个子类以及每个子类的许多实例。所以我需要这种关系发生,这样我的固定装置才会有意义。

jpm*_*los 2

这实际上是一个错误,补丁正在构建中:https ://github.com/django/django/pull/7231 。因此,除了等待补丁之外,没有适合此问题的答案。