KeystoneJS,在模型 AdminUI 中显示多对多关系
KeystoneJS, display many-to-many relationships in the model AdminUI
我正在掌握 KeystoneJS 并尝试在 AdminUI 中显示多对多关系。
我有两个模型,playlist 和 trailer。它们是多对多的关系,定义如下:
models/Playlist.js
Playlist.add('Playlist', {
name: { type: Types.Text, initial: true, required: true, index: true, unique: true },
description: { type: Types.Textarea, initial: true, required: true },
}
);
Playlist.relationship({ ref: 'Trailer', refPath: 'title', path: 'trailers' });
models/Trailer.js
Trailer.add('Trailer', {
title: { type: Types.Text, required: true, initial: true, index: true },
playlists: { type: Types.Relationship, ref: 'Playlist', many: true },
}
)
关系在 MongoDB 中正确建模;播放列表的预告片字段中有一组预告片 ObjectID。但是当我在 AdminUI 中查看播放列表时,我只看到 "No related trailers..."
为什么这行不通?我想在 AdminUI 中查看关系。
有关此功能的文档毫无用处。只是没有任何上下文的随机代码片段。我也遵循了 Practical Keystone JS 中的示例,但没有任何运气。
关于关系选项:
path 是模型字段的名称。在这种情况下,我们可以称之为“预告片**”。
ref 是被引用的模型(具有关系字段的模型)。在这种情况下,'Trailer'.
refPath 是引用模型中具有关系的字段。在这种情况下 'playlists'.
试试这个:
// models/Playlist.js
var Playlist = new keystone.List('Playlist');
Playlist.add({
name: { type: Types.Text, initial: true, required: true, index: true, unique: true },
description: { type: Types.Textarea, initial: true, required: true },
});
Playlist.relationship({ path: 'trailers', ref: 'Trailer', refPath: 'playlists' });
// models/Trailer.js
var Trailer = new keystone.List('Trailer');
Trailer.add({
title: { type: Types.Text, required: true, initial: true, index: true },
playlists: { type: Types.Relationship, ref: 'Playlist', many: true },
});
我正在掌握 KeystoneJS 并尝试在 AdminUI 中显示多对多关系。
我有两个模型,playlist 和 trailer。它们是多对多的关系,定义如下:
models/Playlist.js
Playlist.add('Playlist', {
name: { type: Types.Text, initial: true, required: true, index: true, unique: true },
description: { type: Types.Textarea, initial: true, required: true },
}
);
Playlist.relationship({ ref: 'Trailer', refPath: 'title', path: 'trailers' });
models/Trailer.js
Trailer.add('Trailer', {
title: { type: Types.Text, required: true, initial: true, index: true },
playlists: { type: Types.Relationship, ref: 'Playlist', many: true },
}
)
关系在 MongoDB 中正确建模;播放列表的预告片字段中有一组预告片 ObjectID。但是当我在 AdminUI 中查看播放列表时,我只看到 "No related trailers..."
为什么这行不通?我想在 AdminUI 中查看关系。
有关此功能的文档毫无用处。只是没有任何上下文的随机代码片段。我也遵循了 Practical Keystone JS 中的示例,但没有任何运气。
关于关系选项:
path 是模型字段的名称。在这种情况下,我们可以称之为“预告片**”。
ref 是被引用的模型(具有关系字段的模型)。在这种情况下,'Trailer'.
refPath 是引用模型中具有关系的字段。在这种情况下 'playlists'.
试试这个:
// models/Playlist.js
var Playlist = new keystone.List('Playlist');
Playlist.add({
name: { type: Types.Text, initial: true, required: true, index: true, unique: true },
description: { type: Types.Textarea, initial: true, required: true },
});
Playlist.relationship({ path: 'trailers', ref: 'Trailer', refPath: 'playlists' });
// models/Trailer.js
var Trailer = new keystone.List('Trailer');
Trailer.add({
title: { type: Types.Text, required: true, initial: true, index: true },
playlists: { type: Types.Relationship, ref: 'Playlist', many: true },
});