Inconsistency in 1:1 table relationships / links

What follows are two connected issues with link columns:

For a specific application, I need users not to be able to link to existing records in another table, but to create a new one. Therefore, I want 1 pure 1:1 relationship.

First and primary issue: enforce 1:1 table relationships

I create a link column A=>B (with the “link to multiple records” option off) in table A, which creates the reverse link column in table B (correct). The latter column has “link to multiple columns on” set by default, which is also understandable.

However, when I turn off that feature in table B, the system does not enforce the 1:1 link:

  • I can set only one link from A to B in any record of A. Likewise, I can only set one link from B to A in any record of B
  • However, I can set any number of links from multiple records in A to one record in B. This violates the “Record in B only links to one record in A” restraint
  • This is a suspected bug, because the GUI in table B does not deal with this correctly.
  • The same happens from B to A

As a possible solution, the link picker (i.e. from A to B) should only present records in B which are not already been linked from / to A

My personal workaround was to create a view that only shows records from B that have no incoming links from A. Nevertheless, I think this should be enforced by the system.

Second issue

In order to force people to create a new record in the target table, I created a view that is always empty, and restricted the record picker to that - works! They type something in the search box, and the link “create new record” appears.

However, the linking table des not update properly. Hard to describe, therefore I just wanted to mention that i case somebody sees this while looking into issue #1

I confirm that this is an issue.

(I overlooked the issue previously.)

In version 4.0, we have a plan to add an option to let a link column be only available to create a new linked record. There will also be a few UI improvements. You can test again when version 4.0 is ready.

1 Like