Python Redis TypeError:必须是字符串或缓冲区,而不是无。

Python Redis TypeError:必须是字符串或缓冲区,而不是无。,python,django,django-models,redis,Python,Django,Django Models,Redis,我是redis的新手,如果问题太简单,请接受我的道歉 我想在我的redis数据存储中设置一个django模型,然后在另一个视图函数中,我想获取它并再次重用它;但结果表明: TypeError:必须是字符串或缓冲区,而不是无 这是我在视图.py中的代码: connection = redis.Redis('localhost') def recharge_account(request): cur = recharge_form.cleaned_data['currency']

我是redis的新手,如果问题太简单,请接受我的道歉

我想在我的redis数据存储中设置一个django模型,然后在另一个视图函数中,我想获取它并再次重用它;但结果表明:

TypeError:必须是字符串或缓冲区,而不是无

这是我在
视图.py中的代码:

connection = redis.Redis('localhost')    
def recharge_account(request):

     cur = recharge_form.cleaned_data['currency']
                amnt = recharge_form.cleaned_data['amount']
                user_profile = models.UserProfile.objects.get(user=models.User.objects.get(id=request.user.id))
                user_b_account, created = models.BankAccount.objects.get_or_create(
                    owner=user_profile,
                    cur_code=cur,
                    method=models.BankAccount.DEBIT,
                    name=request.user.username + '_' + cur + '_InterPay-account',
                    account_id=make_id()
                )
                #  saving the temporarily deposit in redis
                deposit_dict = {"account": user_b_account, "amount": amnt, "banker": user_profile,
                                "date": user_b_account.when_opened, "cur_code": cur}
                pickled_deposit_dict = pickle.dumps(deposit_dict)
                cached_deposit_name = str(user_profile.user_id) + "-cachedDeposit"
                connection.set(cached_deposit_name, pickled_deposit_dict)

    ....    




 def callback_handler(request, amount):
    #getting from redis
                        new_deposit = pickle.loads(
                            connection.get(str(user_profile.user_id) + "-cachedDeposit")) 
                        deposit = models.Deposit(account=new_deposit['account'], amount=new_deposit['amount'],
                                                 banker=new_deposit['banker'],
                                                 date=new_deposit['date'], cur_code=new_deposit['cur_code'])
                        deposit.save()
                       .....
我的问题是:我的程序有问题吗?在redis中保存django模型有问题吗

我应该怎么做才能使这个函数正常工作,并使保存的数据“不是空的”


感谢您在advanced中发布了大量代码,但很清楚什么是无代码,您能否解释一下,为什么您要直接将内容保存到Redis,而不是使用Redis会话作为后端?您能否解释一下我应该做什么?谢谢你@DanielRoseman