diff --git a/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-relationship-m2a.vue b/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-relationship-m2a.vue
index 81a3db55cb..1ff6ecd1f4 100644
--- a/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-relationship-m2a.vue
+++ b/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-relationship-m2a.vue
@@ -64,6 +64,7 @@
{{ t('sort_field') }}
fieldsStore.getPrimaryKeyFieldForCollection(collection.value!)?.field);
const unsortableJunctionFields = computed(() => {
- let fields = ['item', 'collection'];
+ let fields = [];
if (relatedCollection.value) {
const relations = relationsStore.getRelationsForCollection(relatedCollection.value);
fields.push(...relations.map((field) => field.field));
diff --git a/app/src/modules/settings/routes/data-model/field-detail/shared/related-field-select.vue b/app/src/modules/settings/routes/data-model/field-detail/shared/related-field-select.vue
index 72858c6baa..69e2f0cb14 100644
--- a/app/src/modules/settings/routes/data-model/field-detail/shared/related-field-select.vue
+++ b/app/src/modules/settings/routes/data-model/field-detail/shared/related-field-select.vue
@@ -65,6 +65,10 @@ export default defineComponent({
type: Array as PropType,
default: () => [],
},
+ typeAllowList: {
+ type: Array as PropType,
+ default: () => [],
+ },
placeholder: {
type: String,
default: () => i18n.global.t('foreign_key') + '...',
@@ -89,7 +93,8 @@ export default defineComponent({
!field.schema ||
!!field.schema?.is_primary_key ||
props.disabledFields.includes(field.field) ||
- props.typeDenyList.includes(field.type),
+ props.typeDenyList.includes(field.type) ||
+ !props.typeAllowList.includes(field.type),
}));
});