Я храню object.pk
в переменной сеанса.
Например, в шаблоне. html:
{{ request.session.myobject_pk }} <-- results in a numeric value e.g. 10
{{ myobject.pk }} <-- the same numeric value, 10
Однако, когда я вызываю эти два значения в if
оператор, первичный ключ не соответствует переменной сеанса:
{% if myobject.pk == request.session.myobject_pk %} <-- results in a False
Почему это так? Является ли объект целым числом, а переменная сеанса - строкой? Как я могу исправить это, чтобы использовать их обоих в условном выражении logi c, как это?
EDIT
Я устанавливаю переменную сеанса в представлении:
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