Django IF视图中的会话值声明?

时间:2014-12-11 16:52:54

标签: python django

不确定这是否是正确的方法,但我确实有一个视图,我想使用if语句并将模型值与会话值进行比较。

我正在尝试这个:

view.py

r = MyModel.objects.get(id=id)
if r.mysize <= request.session['mysize']:
    #do this
else:
    #do something else

这两个值确实存在,但出于某种原因我只能验证它们。

如果我使用数字,它会起作用:

if r.mysize <= 10: 

但它不适用于会话值。

我也试过了,但这也没有用。

sessionsize = request.session['mysize'] 
if r.mysize <= sessionsize

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果将其正确设置为会话,您可以尝试转换为int:

if r.mysize <= int(request.session['mysize'])

答案 1 :(得分:1)

当你存储request.POST数据时,它不是整数而是字符串 试着强迫int:

try:
     if r.mysize <= int(request.session['mysize']): 
       #do this
     else:
       #do else
except ValueError:
     # do else ?