我需要通过将两个实际字段连接在一起来创建模型的名称字段为虚拟。此名称仅用于显示。我已经尝试了文档中的虚拟示例,但没有运气。 Keystone 4 beta5。虚拟“名称”字段?
var keystone = require('keystone')
_ = require('underscore');
var Types = keystone.Field.Types;
/**
* Foo Model
* ==================
*/
var Foo = new keystone.List('Foo', {
map: {name: 'fooname'},
track: true
});
Foo.add({
bar: { type: Types.Relationship, required: true, initial: true, label: 'Barref', ref: 'Bar', many: false },
order: { type: Types.Select, required: true, initial: true, label: 'Order', options: _.range(1,100) },
price: { type: Types.Money, format: '$0,0.00', label: 'Price', required: true, initial: true },
});
Foo.schema.virtual('fooname').get(function() {
return this.bar+ ' ' + this.order;
});
Foo.defaultColumns = 'fooname, bar, order, price';
Foo.register();
当我使用此模型定义时,在defaultcolumns列表中看不到虚拟名称。我想创建一个虚拟名称,以便在将此模型用作关系时查找更容易。
编辑初始文章添加代码示例模型和更多的解释。 thx –