Python Django管理寄存器多个中间模型

Python Django管理寄存器多个中间模型,python,django,Python,Django,我创建了以下模型: class Child(models.Model): some_var = models.CharField() class Parent(models.Model): m2m = models.ManyToManyField(Child) Django在后台自动创建一个名为ParentChild的中间模型。现在,我想在Django管理员中注册该中介模型。可能吗?如果是,怎么做?或者它只与through=“ThroughModel”一起工作?为此,您必须使

我创建了以下模型:

class Child(models.Model):
    some_var = models.CharField()

class Parent(models.Model):
    m2m = models.ManyToManyField(Child)

Django在后台自动创建一个名为
ParentChild
的中间模型。现在,我想在Django管理员中注册该中介模型。可能吗?如果是,怎么做?或者它只与
through=“ThroughModel”
一起工作?

为此,您必须使用through模型。 基本上,Django只在db中创建中间表,而不是模型。因此,您需要定义模型类以在管理中注册它


没错,Django如此指定,而且在admin中工作太糟糕了,我希望避免使用through模型。谢谢@奥泽斯。可以为现有表定义模型类。创建
ParentChild
model将其作为
传递到
kwarg,创建迁移,然后伪造它。这可能有点棘手,但最终您将获得一致的迁移,并且不会丢失数据。