我只是在寻找能够更改中间表的文档,但是当我实现它时,我遇到了麻烦:
https://docs.djangoproject.com/en/2.0/topics/db/models/#extra-fields-on-many-to-many-relationships
这样的问题是,虽然我可以迁移数据库并运行应用程序,但当我进入管理员时,我无法通过 trough 属性(尤其是我的模型的一个名为 的字段Tested
)正确地可视化模型之间的关系。
为什么会发生这种情况,如何纠正?
我只是在寻找能够更改中间表的文档,但是当我实现它时,我遇到了麻烦:
https://docs.djangoproject.com/en/2.0/topics/db/models/#extra-fields-on-many-to-many-relationships
这样的问题是,虽然我可以迁移数据库并运行应用程序,但当我进入管理员时,我无法通过 trough 属性(尤其是我的模型的一个名为 的字段Tested
)正确地可视化模型之间的关系。
为什么会发生这种情况,如何纠正?
这是设计使然。由于需要额外的数据(在您的情况下) , Django 无法自动为ManyToMany
使用表的关系生成小部件。来自Django 文档:through
tested
当您使用 ManyToManyField 的 through 参数指定中间模型时,管理员默认不会显示小部件。这是因为该中间模型的每个实例都需要比单个小部件中显示的更多信息,并且多个小部件所需的布局将根据中间模型而有所不同。
但是,我们仍然希望能够在线编辑该信息。幸运的是,使用内联管理模型很容易做到这一点。
您最好的选择是按照文档中的说明创建一个内联管理模型。