Directus 中的对称多对多关系

moo*_*der 5 many-to-many directus

我在Directus(提供许多功能的数据平台,包括基于数据库记录的 REST API)中有两个集合。可以选择设置不同集合之间的关系。

我在collectionA和collectionB之间设置了多对多关系。collectionA_collectionB自动创建调用的特殊系统集合(连接表) 。现在,我可以在编辑 collectionA 项目时添加 collectionB 中的项目。

但同时我想在编辑 collectionB 项目时添加 collectionA 项目,但我找不到添加现有联结表的方法。当我在 collectionB 和 collectionA 之间添加多对多关系时 - 创建新的联结表。

如何使用相同的联结表来实现对称的多对多关系?

Kas*_*lgi 6

从 Directus UI 中,您可以删除 CollectionA 中的关系,也可以删除联结表collectionA_collectionB,然后再次创建到 CollectionB 的 M2M,但创建时,请单击您想要的“保存”按钮下方的“继续高级字段创建模式”否则急于点击: https: //i.stack.imgur.com/DdvuJ.png

现在,单击左侧菜单中的“关系”,然后在“对应字段”下选中“将 M2M”添加到 ColumnB”复选框:https://i.stack.imgur.com/ZTnhQ.png

如果您不想删除已经创建的内容(例如,表中已有大量数据),那么我认为唯一的方法是直接对directus_*数据库上的表进行更改。我不知道该怎么做,因为当我遇到这个问题时我没有太多数据。

  • 谢谢,这按预期工作。我不明白为什么这个功能不能更容易地使用。看来多对多关系以对称方式广泛使用,因此从两个集合中添加内容应该很有用。 (2认同)