在DatastoreService中使用此代码时,我得到ClassCastException Long无法在fromEntity中强制转换为整数.这是正常的行为吗?(在使用google插件进行eclipse的本地计算机上调试时会出现此问题)
class UserData {
private int _integerval = 0;
private String _stringval = "";
public Entity getEntity() {
Entity ret = new Entity( "User", key );
ret.setProperty( "property1", _integerval );
ret.setProperty( "property2", _stringval );
return ret;
}
public static UserData fromEntity( Entity ent ) {
UserData ret = new UserData();
ret._integerval = (Integer)ent.getProperty("property1");
ret._stringval = (String)ent.getProperty("property2");
return ret;
}
}
Run Code Online (Sandbox Code Playgroud)
我总是必须像这样捕获这个异常:
try
{
ret._integerval = (Integer)ent.getProperty("property1");
}
catch( ClassCastException ex ) {
Long val = (Long)ent.getProperty("property1");
ret._integerval = val.intValue(); …
Run Code Online (Sandbox Code Playgroud) 这是我的 Django 视图之一:
def index(request):
message = request.GET.get('message', '')
context = RequestContext(request, {
'message': message
})
return render(request, 'bets/index.html', context)
Run Code Online (Sandbox Code Playgroud)
我的目标是只在模板中显示一次消息,而不是在页面重新加载时显示它。我试过这个:
request.GET['message'] = ''
Run Code Online (Sandbox Code Playgroud)
但得到错误“这个 QueryDict 实例是不可变的”。如何从 QueryDict 中删除键?