我需要通過將兩個實際字段連接在一起來創建模型的名稱字段爲虛擬。此名稱僅用於顯示。我已經嘗試了文檔中的虛擬示例,但沒有運氣。 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 –