用.filter() .values() 对数据库操作查询结果时会返回QuerySet结果(一个可迭代的字典序列),长这样:
<QuerySet [{'unique_id': 1}]>
这个数据处理起来非常麻烦,要拿一个数据要费老大劲,
为了避免这种情况可以直接在查询的时候用list()包起来,转化成列表。这个时候返回的数据长这样:[{'unique_id': 1}]
再把列表里的字典里的相应数据取出来就OK。
最终代码:
User_unique_ID = list(models.administrator.objects.filter(username=user,password=pwd,identity=identity).values('unique_id'))[0].get('unique_id')
request.session['User_unique_ID'] = list(models.administrator.objects.filter(username=user,password=pwd,identity=identity).values('unique_id'))[0].get('unique_id')