这取决于你不存在时要执行的操作。
那里get_object_or_404:
在给定的模型管理器上调用get(),但是它引发Http404而不是模型的DidNotExist异常。
get_object_or_404(World, ID=personID)
除了你当前执行的代码外,这与try非常接近。
否则有get_or_create:
personalProfile, created = World.objects.get_or_create(ID=personID)
虽然,如果你选择继续使用当前的方法,则至少要确保将except定位到正确的错误,然后根据需要进行一些处理
try:
personalProfile = World.objects.get(ID=personID)
except MyModel.DoesNotExist:
raise Http404("No MyModel matches the given query.")
上面的try / except句柄类似于在文档中找到的get_object_or_404 …