Django 如何在会话变量中存储主键
我正在会话变量中存储一个Django 如何在会话变量中存储主键,django,django-templates,django-views,Django,Django Templates,Django Views,我正在会话变量中存储一个对象.pk 例如,在template.html中: {{ request.session.myobject_pk }} <-- results in a numeric value e.g. 10 {{ myobject.pk }} <-- the same numeric value, 10 为什么会这样?对象是整数,会话变量是字符串吗?我如何解决这个问题,以便在这样的条件逻辑语句中同时使用它们 编辑 我在视图中设置会话变量: class MyView(P
对象.pk
例如,在template.html中:
{{ request.session.myobject_pk }} <-- results in a numeric value e.g. 10
{{ myobject.pk }} <-- the same numeric value, 10
为什么会这样?对象是整数,会话变量是字符串吗?我如何解决这个问题,以便在这样的条件逻辑语句中同时使用它们
编辑
我在视图中设置会话变量:
class MyView(ProcessFormView):
def post(self, request, *args, **kwargs):
post_myobject_pk = request.POST.get('field_name')
...
// do stuff
...
request.session['myobject_pk'] = post_myobject_pk
POST dictionary中的值始终是字符串,您需要将该值转换为
int
post_myobject_pk = int(request.POST.get('field_name'))
POST dictionary中的值始终是字符串,您需要将该值转换为
int
post_myobject_pk = int(request.POST.get('field_name'))
您可以调试视图中的值吗?它们可能是具有相同字符串表示形式的不同类型。的字符串
'10'
和整数10
example@IainShelvington是的,我做过,它们都一样。它们是什么?打印(键入(request.session.myobject_pk),键入(myobject.pk))的结果是什么?@IainShelvington谢谢,我将如何执行该命令?在视图中?@alias51是的,可能在get\u context\u data
方法中`您可以调试视图中的值吗?它们可能是具有相同字符串表示形式的不同类型。的字符串'10'
和整数10
example@IainShelvington是的,我做过,它们都一样。它们是什么?打印(键入(request.session.myobject_pk),键入(myobject.pk))的结果是什么?@IainShelvington谢谢,我将如何执行该命令?在视图中?@alias51是的,可能在get\u context\u data
方法中`