如何在Django中正确分配通过属性?

问题描述 投票:2回答:1

我只是在看文档以能够更改中间表,但是当我实现它时,我遇到了麻烦:

https://docs.djangoproject.com/en/2.0/topics/db/models/#extra-fields-on-many-to-many-relationships

这样的问题是,尽管我可以迁移数据库并运行应用程序,但是当我进入管理员时,我无法通过trough属性正确地可视化模型之间的关系(尤其是模型中名为Tested的字段)。

为什么会发生,如何纠正?

django django-models many-to-many django-database django-intermediate-table
1个回答
0
投票

这是设计使然。由于需要额外的数据(在您的情况下为ManyToMany),Django无法自动为使用through表的tested关系生成窗口小部件。从Django docs

当您使用ManyToManyField的through参数指定中介模型时,管理员默认不会显示小部件。这是因为该中间模型的每个实例需要的信息比单个窗口小部件中显示的信息更多,并且多个窗口小部件所需的布局将根据中间模型而有所不同。

但是,我们仍然希望能够内联编辑该信息。幸运的是,使用内联管理员模型很容易做到这一点。

您最好的选择是按照文档中的说明创建内联管理模型。

© www.soinside.com 2019 - 2024. All rights reserved.