我正在尝试在postgresql数据库中进行查询。 我需要在查询之前将id乘以-1。
def getRelation(request,id):
#id = id * -1
#osmObject = get_object_or_404(PlanetOsmPolygon,osm_id=int(id))
return HttpResponse(id)
#return HttpResponse(osmObject.way.geojson)
这是我的看法。 但是,如果我取消对乘法的注释,则此代码可以正常工作,我的浏览器中没有任何内容。我看不出我的负面身份。错误在哪里?
如果我取消注释get_object_404
,我有一个:
对于带有基数为10的int()的无效文字:''
这就是我尝试int()
的原因。
这个问题似乎很简单,我不明白为什么。我从django开始。
由于
答案 0 :(得分:3)
从网址捕获的参数(此处id
)将作为字符串
在开始使用
之前,你需要强制类似
def getRelation(request, id):
id = int(id)
# the rest of your view
更新(re:空白字符串)
python允许您通过重载乘法运算符重复字符串
>>> "foo" * 3
'foofoofoo'
当你尝试将一个字符串(包含你的id,但是作为一个字符串)与-1
相乘时,你得到“-1 copies”,它返回一个空字符串
>>> "foo" * -1
''
或在你的情况下:
>>> "12" * -1
''
>>> int("12") * -1
-12