这里是视图功能:
def bar(request):
...
record = get_record_from_model(model, **kwargs)
...
return JsonResponse(data_to_response)
及以下有视图功能中使用的功能:
def get_record_from_model(model, **kwargs):
try:
return model.objects.get(**kwargs)
except model.DoesNotExist:
error_data = copy.copy(settings.ERROR["NOT_EXIST_ERR"])
return JsonResponse(error_data)
发生异常时,我可以在 get_record_from_model 函数中将JsonResponse(error_data)
返回给客户端吗?
像提高 Http404
之类的东西答案 0 :(得分:2)
简短的回答是你不能直接在那里做,因为调用函数仍然需要对来自get_record_for_model
的返回值做一些事情。也就是说,我建议您执行类似下面的操作,将数据以及找到/未找到的布尔值发送回调用函数:
def get_record_from_model(model, **kwargs):
try:
return model.objects.get(**kwargs), True
except model.DoesNotExist:
error_data = copy.copy(settings.ERROR["NOT_EXIST_ERR"])
return error_data, False
...
def bar(request):
...
data, found = get_record_from_model(model, **kwargs)
if not found:
return JsonResponse(data, status=404)
...
return JsonResponse(response_data)
答案 1 :(得分:0)
使用django的内置快捷方式get_object_or_404
function myFunction(source_folder, dest_folder) {
source_folder = DriveApp.getRootFolder()
dest_folder = DriveApp.getFolderById("ID")
var files = DriveApp.getFilesByName('FileName');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
dest_folder.addFile(file);
source_folder.removeFile(file);
}
}