- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
sequelize.define("aModel", {
text: DataTypes.TEXT
}, {
instanceMethods: {
getme1: function() {
return this.text.toUpperCase();
}
},
getterMethods: {
getme2: function() {
return this.text.toUpperCase();
}
}
});
InstanceMethods和 getterMethods似乎完成了同样的事情,允许访问虚拟键。你为什么要用一个而不是另一个?
最佳答案
您使用 Model.method()
调用的实例方法,但是如果您有一个名为 text
的 getter 方法,它会在您执行 instance.text 时被调用
。同样,当您执行 instance.text = 'something'
时,会使用 setter 方法。
例子:
var Model = sequelize.define("aModel", {
text: DataTypes.TEXT
}, {
instanceMethods: {
getUpperText: function() {
return this.text.toUpperCase();
}
},
getterMethods: {
text: function() {
// use getDataValue to not enter an infinite loop
// http://docs.sequelizejs.com/en/latest/api/instance/#getdatavaluekey-any
return this.getDataValue('text').toUpperCase();
}
},
setterMethods: {
text: function(text) {
// use setDataValue to not enter an infinite loop
// http://docs.sequelizejs.com/en/latest/api/instance/#setdatavaluekey-value
this.setDataValue('text', text.toLowerCase());
}
}
});
Model.create({
text: 'foo'
}).then(function(instance) {
console.log(instance.getDataValue('text')); // foo
console.log(instance.getUpperText()); // FOO
console.log(instance.text); // FOO
instance.text = 'BAR';
console.log(instance.getDataValue('text')) // bar
console.log(instance.text); // BAR
});
关于orm - sequelizejs 中的 instanceMethods 和 getterMethods 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34540536/
我有两个文件: x.py class BF(object) def __init__(): . . def add(self,z): . . y.py from y
我正在尝试通过类变量调用外部函数。以下是我的真实代码的简化: def func(arg): print(arg) class MyClass(object): func_ref = N
我试图在另一个实例方法的事件处理程序中调用实例方法,但我得到函数未定义,我认为这是因为在事件处理程序中“this”指的是 DOM 元素而不是实例: function MyObject(somethin
html 中的多个复选框,如果选择了 None,我希望我的用户重定向到同一页面。 我应该通过 Javascript 执行此操作吗?或者 if request.method == 'POST':
我不断收到此错误: TypeError: 'instancemethod' object has no attribute '__getitem__' 根据我对 django 网站的特殊看法,我正在玩
我遇到了pickle的问题,代码是: import cPickle class A(object): def __init__(self): self.a = 1 de
我正在尝试创建一个 python 类来使用我的 Raspberry Pi 控制步进电机。它主要有效,但是每当我将列表定义为类变量时,我都会收到“'instancemethod' object has
我正在向 sequelize 模型添加一个实例方法。根据the documentation我应该能够引用 this.name,但我能看到的唯一值是 this.dataValues.name。我没有理由
我爱ActiveSupport::Concern . 它使向您的类添加功能变得容易,而且语法很好。 无论如何,在 Rails 3.2 中,InstanceMethods 模块已被弃用。如果我理解正确,
我正在使用sequelize 连接到mysql 数据库进行开发。我有一个名为 Dealer 的模型: 'use strict'; module.exports = function(sequelize
在我们的代码库中,SWIG 结合了 Python 和 C++。 C++ 类有时会像这样被赋予 Python 扩展: %pythoncode %{ def DiscreteKey_baseData(se
我有一个如下所示的数据框: id ttp var cap_util wip 0 ADLL 3.333333 6.003725e-
我正在模拟循环算法,下面列出的代码给我错误 RR.Przesuniecie[Oczekujace_procesy] TypeError: 'instancemethod' object is unsu
我对 python 和线程还很陌生。我正在尝试编写一个使用线程和队列的程序,以便使用凯撒密码加密 txt 文件。当我单独使用加密函数时,它本身运行良好,但在我的程序中使用它时出现错误。错误从这一行开始
在调试来自 https://github.com/haydnw/AirPi/blob/master/outputs/ubidots.py 的 AirPi 代码时,我遇到了输出期间出现异常:“insta
HTML java c network python list_categories = reques
我想做这样的事情: class X: @classmethod def id(cls): return cls.__name__ def id(self):
所以开始我对 Node.js 的所有事物的冒险。我正在尝试学习的工具之一是 Sequelize。所以我将开始我想做的事情: 'use strict'; var crypto = require('cr
我在文件中创建了一个函数并使用 export function foo(params...) { // do something } 在模型的初始化中,我以这种方式导入函数: import { fo
我有一个类 (Bar),它实际上有自己的状态和回调,并被另一个类 (Foo) 使用: class Foo(object): def __init__(self): sel
我是一名优秀的程序员,十分优秀!