使用geoDjango,有什么区别
myObj.objects.filter(point__dwithin(...etc.))
Run Code Online (Sandbox Code Playgroud)
和
myObj.objects.filter(point__distance_lt(...etc.))
Run Code Online (Sandbox Code Playgroud)
?
它们是同一个东西,还是它们做着微妙不同的事情?
清除数据后,如何在表单顶部添加错误?我有一个对象需要对外部应用程序(谷歌地图)进行REST调用作为预保存条件,这可能会失败,这意味着我需要我的用户更正表单中的数据.所以我清理数据,然后尝试保存并添加到表单错误,如果保存不起作用:
if request.method == "POST":
#clean form data
try:
profile.save()
return HttpResponseRedirect(reverse("some_page", args=[some.args]))
except ValueError:
our_form.errors.__all__ = [u"error message goes here"]
return render_to_response(template_name, {"ourform": our_form,},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
这无法在我的单元测试中返回错误文本(在{{form.non_field_errors}}中查找它),然后当我通过调试器运行它时,错误没有被添加到表单错误字典中它们到达render_to_response行,也不到our_form树中的任何其他位置.为什么这不起作用?如何在清理表单后将错误添加到表单顶部?