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
方法中`