我不能手动或自动填充新保存的对象上的创建者字段...我能找到的唯一方法是重新查询我已经拥有的我不想做的对象.
这是设置:
var userSchema = new mongoose.Schema({
name: String,
});
var User = db.model('User', userSchema);
var bookSchema = new mongoose.Schema({
_creator: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
description: String,
});
var Book = db.model('Book', bookSchema);
Run Code Online (Sandbox Code Playgroud)
这是我拉我的头发的地方
var user = new User();
user.save(function(err) {
var book = new Book({
_creator: user,
});
book.save(function(err){
console.log(book._creator); // is just an object id
book._creator = user; // still only attaches the object id due to Mongoose magic
console.log(book._creator); // Again: is just an object …Run Code Online (Sandbox Code Playgroud) 为什么这不起作用
handler500 = TemplateView.as_view(template_name="500.html")
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
Traceback (most recent call last):
File "/usr/lib/python2.6/wsgiref/handlers.py", line 94, in run
self.finish_response()
File "/usr/lib/python2.6/wsgiref/handlers.py", line 134, in finish_response
for data in self.result:
File "/home/hatem/projects/leadsift_app/.virtualenv/lib/python2.6/site-packages/django/template/response.py", line 117, in __iter__
raise ContentNotRenderedError('The response content must be 'ContentNotRenderedError: The response content must be rendered before it can be iterated over.
Run Code Online (Sandbox Code Playgroud)
我发现这组笔记描述了你在脚下射击自己使用基于类的视图,为什么会这样?
编辑:我最终使用了这个...但我仍然希望那里有人会告诉我如何获得原始的oneliner或类似的工作
class Handler500(TemplateView):
template_name = "500.html"
@classmethod
def as_error_view(cls):
v = cls.as_view()
def view(request):
r = v(request)
r.render()
return r
return view
handler500 = Handler500.as_error_view()
Run Code Online (Sandbox Code Playgroud) 这样的事情在Apache中是可能的......(即重定向到外部URL,导致传递403错误的路径)
ErrorDocument 403 http://www.sample.com/{{REDIRECT_URL}}
Run Code Online (Sandbox Code Playgroud) 我有一个文本区域,我正在与GoInstant同步.这是代码的样子:
var myRoom = platform.room('myRoom');
var myKey = myRoom('myKey');
// Listen to set events on the platform key and update a textarea
myKey.on('set', function(textAreaContent) {
$('textarea').val(textAreaContent);
});
// When the textarea changes, set the platform key
$('textarea').on('change', function(){
var textAreaContent = $(this).val();
myKey.set(textAreaContent, function(err) {
if (err) throw err;
});
})
Run Code Online (Sandbox Code Playgroud)
这会创建一个无限循环,当更新一个文本字段时,即当更改textarea的值时,这会触发一个平台密钥更新,从而无限地更改textarea的值...
编辑:基于最佳答案我想出了以下构造函数:
function BounceProtection() {
var remoteUpdate = false; // remote toggle
this.local = function(cb) {
if (remoteUpdate) return;
cb();
};
this.remote = function(cb) {
remoteUpdate = …Run Code Online (Sandbox Code Playgroud)