0
var leaves = new keystone.List('leaves');
leaves.add({
    createdBy: {
        type: Types.Relationship,
        ref: 'user-datas',
        initial: true,
        label: 'Submitted By',
    },
});

var userData = new keystone.List('user-datas');

userData.add({
    user_id: {
        type: Types.Relationship,
        ref: 'Employees',
    },
});
var Employees = new keystone.List('Employees');

Employees.add({
    name: {
        type: Types.Name,
        required: true,
        index: true,
        initial: true,
    },
});

I have 3 models/list: leaves,user-data, Employees. So when in admin panel when I want to add a leave it shows Object id of record from user-data. But is there any way to show name from Employees when entering a new leave. but the still refer to user-data?

I need to show user's name instead of the user ID as shown in the image below.

enter image description here

Harshal Yeole
  • 4,812
  • 1
  • 21
  • 43
chitrank
  • 77
  • 8
  • See if the previous post can help. https://stackoverflow.com/questions/49003392/how-to-specify-multiple-fields-in-keystone-js-list-map – Thomas Choy May 25 '18 at 06:01

2 Answers2

0

When you add the relationship for the leaves, you can do something like this:

         submittedBy: {type: Types.Relationship, ref: 'User', many: false},

Hope this help. If not, please post more details like the model declaration.

Harshal Yeole
  • 4,812
  • 1
  • 21
  • 43
0

You can achieve it by using relationship.